Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __fastcall sub_1406ED100(__int64 a1, float a2, float a3, float a4, char a5, char a6, signed int a7, _DWORD *a8, char a9, char a10, char a11)
- {
- _DWORD *v11; // r13@1
- float v12; // xmm6_4@1
- char v13; // si@1
- __int64 v14; // rax@1
- char v15; // r12@1
- float v16; // xmm0_4@4
- __int64 v17; // rdi@9
- __int64 v18; // rax@12
- __int64 v19; // rax@13
- __int64 v20; // rax@14
- char v21; // r14@15
- int v22; // er8@18
- signed int v23; // ebx@18
- int v24; // edx@18
- int v25; // ecx@19
- unsigned int v26; // er9@19
- __int64 v27; // rax@28
- __int64 v28; // rax@29
- __int64 v29; // rax@32
- __int64 v30; // rbx@35
- __int64 v31; // rdx@36
- __int64 v32; // r8@36
- __int64 v33; // rcx@36
- __int64 v34; // rax@40
- __int64 *v35; // rcx@40
- int v36; // eax@40
- __int64 v37; // rax@42
- __int64 v38; // rdx@43
- __int64 v39; // r8@43
- __int64 v40; // r9@43
- signed int v42; // [sp+30h] [bp-88h]@1
- float v43; // [sp+40h] [bp-78h]@40
- float v44; // [sp+44h] [bp-74h]@40
- float v45; // [sp+48h] [bp-70h]@40
- __int64 v46; // [sp+50h] [bp-68h]@33
- char v47; // [sp+59h] [bp-5Fh]@33
- char v48; // [sp+5Ah] [bp-5Eh]@35
- char v49; // [sp+5Bh] [bp-5Dh]@35
- char v50; // [sp+5Ch] [bp-5Ch]@35
- signed int v51; // [sp+60h] [bp-58h]@35
- v11 = a8;
- *a8 = 0;
- v42 = 0xFFFF;
- v12 = a4;
- LODWORD(a8) = ((unsigned int)a8 | 0xFFFFFFF) & 0xFFFFFFF;
- sub_1410007C4(a1, &v42);
- v13 = a9;
- LOWORD(a8) = v42;
- LODWORD(v14) = ((unsigned int)a8 | 0xFFF0000) & 0xEFFFFFFF;
- LODWORD(a8) = ((unsigned int)a8 | 0xFFF0000) & 0xEFFFFFFF;
- v15 = a9 != 0 ? a10 : 0;
- if ( (unsigned __int16)v42 != 0xFFFF && a2 < 16000.0 && a3 < 16000.0 )
- {
- v16 = a4;
- if ( a4 < 2700.0 )
- {
- if ( !byte_14220A410 || !a9 || (LODWORD(v14) = sub_140420AEC(), v14) || a6 )
- {
- *(_WORD *)&a9 = sub_141000C6C(&a8);
- *(_DWORD *)&a9 = (((unsigned int)a8 ^ (((unsigned int)a8 ^ a9) & 0xFFF0000 ^ a9) & 0xDFFFFFFF) & 0x10000000 ^ (((unsigned int)a8 ^ a9) & 0xFFF0000 ^ a9) & 0xDFFFFFFF) & 0x3FFFFFFF;
- LODWORD(v14) = sub_13FA20854(&a9);
- v17 = v14;
- if ( v14 )
- {
- if ( (*(_DWORD *)(v14 + 80) >> 4) & 1 )
- {
- if ( !v15
- || (LODWORD(v18) = sub_140420AEC(), !v18)
- || (LODWORD(v19) = sub_140420AEC(), !*(_QWORD *)(v19 + 72))
- || (LODWORD(v20) = sub_140420AEC(), LODWORD(v14) = sub_140F744F4(*(_QWORD *)(v20 + 72)), (_BYTE)v14) )
- {
- v21 = a11;
- LODWORD(v14) = *(_DWORD *)(v17 + 80) >> 19;
- if ( !(v14 & 1) || a11 || !byte_14220A410 )
- {
- v22 = 0;
- v23 = -1;
- v24 = (unsigned __int16)dword_141E47EA0 - 1;
- if ( v24 < 0 )
- {
- LABEL_24:
- v25 = -1;
- }
- else
- {
- while ( 1 )
- {
- v25 = (v24 + v22) >> 1;
- LODWORD(v14) = v25;
- v26 = *(_DWORD *)(qword_141E47E98 + 4i64 * v25);
- if ( *(_DWORD *)(v17 + 24) == v26 )
- break;
- if ( *(_DWORD *)(v17 + 24) >= v26 )
- v22 = v25 + 1;
- else
- v24 = v25 - 1;
- if ( v22 > v24 )
- goto LABEL_24;
- }
- }
- if ( v25 == -1 || !byte_14220A410 )
- {
- if ( !byte_14220A3FF )
- {
- LODWORD(v27) = sub_140420AEC();
- if ( v27 )
- {
- LODWORD(v28) = sub_140420AEC();
- if ( *(_BYTE *)(v28 + 174) & 4 )
- {
- if ( byte_14220A3FD )
- {
- v13 = 0;
- }
- else
- {
- LODWORD(v29) = sub_140420AEC();
- *(_BYTE *)(v29 + 174) &= 0xFBu;
- }
- }
- }
- }
- LOWORD(v42) = sub_141000C6C(&a8);
- v42 = (((unsigned int)a8 ^ (((unsigned int)a8 ^ v42) & 0xFFF0000 ^ v42) & 0xDFFFFFFF) & 0x10000000 ^ (((unsigned int)a8 ^ v42) & 0xFFF0000 ^ v42) & 0xDFFFFFFF) & 0x3FFFFFFF;
- sub_13FB15A84(&v46, &v42, 4i64);
- v47 = 1;
- if ( a7 >= 0 )
- v23 = a7;
- v48 = v13;
- v49 = v13;
- v51 = v23;
- v50 = v21;
- LODWORD(v14) = sub_14014AB74(&v46);
- v30 = v14;
- if ( v14 )
- {
- sub_13FB55B48(v14);
- *(_DWORD *)(v30 + 392) &= 0xFDFFFFFF;
- v33 = (unsigned int)(v13 == 0) << 25;
- *(_DWORD *)(v30 + 392) |= v33;
- if ( a4 <= -200.0 )
- {
- v16 = 0.0;
- sub_14011922C(v33, v31, v32, 4i64);
- v12 = 0.0;
- }
- if ( a5 )
- {
- sub_140301734(v30);
- v12 = v12 + v16;
- }
- v34 = *(_QWORD *)v30;
- v43 = a2;
- v44 = a3;
- v45 = v12;
- LOBYTE(v32) = 1;
- (*(void (__fastcall **)(__int64, float *, __int64))(v34 + 200))(v30, &v43, v32);
- (*(void (__fastcall **)(__int64))(*(_QWORD *)v30 + 208i64))(v30);
- sub_1402E77C4(v30, (unsigned int)dword_1416FD968, 0i64);
- v35 = (__int64 *)(v30 + 240);
- v36 = *(_DWORD *)(v30 + 376);
- if ( !(v36 & 0x10) )
- *(_DWORD *)(v30 + 376) = v36 & 0xFFFFF7FF | 8;
- v37 = *v35;
- *(_OWORD *)&v43 = *(_OWORD *)(v30 + 144);
- (*(void (__fastcall **)(__int64 *, float *))(v37 + 8))(v35, &v43);
- (*(void (__fastcall **)(__int64))(*(_QWORD *)v30 + 368i64))(v30);
- sub_14041AC14(v30);
- LODWORD(v14) = sub_140420CB0(v30);
- *v11 = v14;
- if ( a6 )
- {
- LODWORD(v14) = sub_140420B1C();
- if ( v14 )
- {
- *(_DWORD *)(v30 + 176) |= 8u;
- LOBYTE(v40) = 1;
- LOBYTE(v39) = v13;
- LOBYTE(v38) = v15;
- LODWORD(v14) = sub_140428F64(v30, v38, v39, v40);
- }
- }
- if ( *(_DWORD *)(v17 + 24) == -488621636 )
- LODWORD(v14) = sub_13FB55B48(v30);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- return v14;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement