Function at 0x4015e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x460
mov esi, dword [ebp + 8]
lea edi, [esp + 0x398]
lea eax, [esp + 0x1a0]
push 0x1f8
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
test byte [esi], 1
jne 0x401649
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
movsd xmm0, qword [esi]
movsd qword [edi], xmm0
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x3a4]
test byte [eax], 1
jne 0x4016c0
mov ecx, dword [eax + 8]
mov dword [edx + 8], ecx
movsd xmm0, qword [eax]
movsd qword [edx], xmm0
jmp 0x401724
mov ebx, dword [esi + 4]
mov esi, dword [esi + 8]
cmp ebx, 0xa
ja 0x401668
lea eax, [esp + 0x399]
mov ecx, ebx
add cl, bl
mov byte [esp + 0x398], cl
jmp 0x4016a1
cmp ebx, 0xfffffff0
jae 0x404a05
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x3a0], eax
add edi, 2
mov dword [esp + 0x398], edi
mov dword [esp + 0x39c], ebx
lea edi, [esp + 0x398]
inc ebx
push ebx
push esi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x3a4]
test byte [eax], 1
je 0x401636
mov ebx, dword [eax + 4]
mov esi, dword [eax + 8]
cmp ebx, 0xa
ja 0x4016df
lea eax, [esp + 0x3a5]
mov ecx, ebx
add cl, bl
mov byte [esp + 0x3a4], cl
jmp 0x401718
cmp ebx, 0xfffffff0
jae 0x404a11
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x3ac], eax
add edi, 2
mov dword [esp + 0x3a4], edi
mov dword [esp + 0x3a8], ebx
lea edi, [esp + 0x398]
inc ebx
push ebx
push esi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
movsd xmm0, qword [ebp + 0x14]
unpcklps xmm0, xmmword [0x43d0a0]
subpd xmm0, xmmword [0x43d0b0]
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm1, qword [0x43d0c0]
mov eax, dword [ebp + 0x10]
xorpd xmm0, xmm0
movupd xmmword [esp + 0x3b0], xmm0
mov dword [esp + 0x3c4], 0
mov dword [esp + 0x3c0], 0
mov dword [esp + 0x3c8], 0x3f800000
movupd xmmword [esp + 0x3cc], xmm0
mov dword [esp + 0x3dc], 0x3f800000
movsd qword [esp + 0x3e0], xmm1
mov dword [esp + 0x3fc], 0x3ed4f8b5
mov dword [esp + 0x3f8], 0x88e368f1
lea ecx, [esp + 0x404]
mov dword [esp + 0x404], 0
mov dword [esp + 0x408], 0
mov dword [esp + 0x400], ecx
movsd xmm0, qword [eax]
movsd qword [esp + 0x410], xmm0
lea ecx, [esp + 0x418]
test byte [eax + 8], 1
jne 0x401801
add eax, 8
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
jmp 0x401865
mov ebx, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
cmp ebx, 0xa
ja 0x401820
lea eax, [esp + 0x419]
mov ecx, ebx
add cl, bl
mov byte [esp + 0x418], cl
jmp 0x401859
cmp ebx, 0xfffffff0
jae 0x404a18
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x420], eax
add edi, 2
mov dword [esp + 0x418], edi
mov dword [esp + 0x41c], ebx
lea edi, [esp + 0x398]
inc ebx
push ebx
push esi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
lea ebx, [esp + 0x140]
mov ecx, ebx
call fcn.0043bba6
lea eax, [esp + 0x13c]
push eax
call fcn.0043bd92
add esp, 4
test byte [esp + 0x398], 1
jne 0x4018a6
mov eax, dword [edi + 8]
mov dword [esp + 0x168], eax
movsd xmm0, qword [edi]
movsd qword [esp + 0x160], xmm0
jmp 0x401912
mov ebx, dword [esp + 0x39c]
mov edi, dword [esp + 0x3a0]
cmp ebx, 0xa
ja 0x4018cd
lea eax, [esp + 0x161]
mov ecx, ebx
add cl, bl
mov byte [esp + 0x160], cl
jmp 0x4018ff
cmp ebx, 0xfffffff0
jae 0x404a1d
mov esi, ebx
or esi, 0xf
lea eax, [esi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x168], eax
add esi, 2
mov dword [esp + 0x160], esi
mov dword [esp + 0x164], ebx
inc ebx
push ebx
push edi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
lea ebx, [esp + 0x140]
mov eax, dword [esp + 0x13c]
mov ecx, dword [0x446aa4]
mov word [esp + 0x434], 0
lea edx, [esp + 0x434]
lea esi, [esp + 0x160]
lea edi, [esp + 0x194]
push edx
push ecx
push eax
push ebx
push esi
push edi
call fcn.0043bb7c
add esp, 0x18
test byte [esp + 0x434], 1
jne 0x401978
test byte [esp + 0x160], 1
lea esi, [esp + 0x3a4]
jne 0x401998
test byte [esp + 0x19c], 1
jne 0x4019b1
call fcn.0043bf2a
jmp 0x4019c0
push dword [esp + 0x43c]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x160], 1
lea esi, [esp + 0x3a4]
je 0x401967
push dword [esp + 0x168]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x19c], 1
je 0x401971
mov eax, dword [esp + 0x194]
test eax, eax
jne 0x40497b
test byte [esp + 0x3a4], 1
jne 0x4019e3
mov eax, dword [esi + 8]
mov dword [esp + 0x158], eax
movsd xmm0, qword [esi]
movsd qword [esp + 0x150], xmm0
jmp 0x401a4f
mov ebx, dword [esp + 0x3a8]
mov esi, dword [esp + 0x3ac]
cmp ebx, 0xa
ja 0x401a0a
lea eax, [esp + 0x151]
mov ecx, ebx
add cl, bl
mov byte [esp + 0x150], cl
jmp 0x401a3c
cmp ebx, 0xfffffff0
jae 0x404a29
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov dword [esp + 0x158], eax
add edi, 2
mov dword [esp + 0x150], edi
mov dword [esp + 0x154], ebx
inc ebx
push ebx
push esi
push eax
call sub.msvcrt.dll_memmove
add esp, 0xc
lea ebx, [esp + 0x140]
mov eax, dword [esp + 0x13c]
mov ecx, dword [0x446aa4]
mov word [esp + 0x428], 0
lea edx, [esp + 0x428]
lea esi, [esp + 0x150]
lea edi, [esp + 0x130]
push edx
push ecx
push eax
push ebx
push esi
push edi
call fcn.0043bb7c
add esp, 0x18
test byte [esp + 0x428], 1
jne 0x401aae
test byte [esp + 0x150], 1
jne 0x401ac7
test byte [esp + 0x138], 1
jne 0x401ae0
call fcn.0043bf2a
jmp 0x401aef
push dword [esp + 0x430]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x150], 1
je 0x401a9d
push dword [esp + 0x158]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x138], 1
je 0x401aa7
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x4049aa
mov eax, dword [esp + 0x194]
mov dword [esp + 0x194], 0
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3b0], eax
test ecx, ecx
je 0x401b18
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x130], 0
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3b4], eax
test ecx, ecx
je 0x401b41
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [esp + 0x3b0]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
test eax, eax
jne 0x4048c7
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x401b66
push dword [esi + 0x18]
call fcn.0043bba0
movzx eax, byte [esi + 0x54]
mov edi, dword [sym.imp.libLLVM_17.dll_llvm::sampleprof::FunctionSamples::UseMD5]
mov byte [edi], al
call fcn.0043bcb4
mov esi, dword [esp + 0x3b4]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
test eax, eax
jne 0x4048f6
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x401b9c
push dword [esi + 0x18]
call fcn.0043bba0
movzx eax, byte [esi + 0x54]
mov byte [edi], al
call fcn.0043bcb4
mov eax, dword [esp + 0x3b0]
mov ecx, dword [esp + 0x3b4]
cmp byte [eax + 0x3c], 0
setne dl
cmp byte [ecx + 0x3c], 0
setne dh
cmp dl, dh
jne 0x404925
cmp byte [eax + 0x3d], 0
setne dl
cmp byte [ecx + 0x3d], 0
setne dh
cmp dl, dh
jne 0x404932
mov eax, dword [eax + 0x34]
mov esi, dword [ecx + 0x34]
add eax, 4
push eax
call fcn.0043bcc6
add esp, 4
mov dword [esp + 0x3ec], edx
mov dword [esp + 0x3e8], eax
add esi, 4
push esi
call fcn.0043bcc6
add esp, 4
mov dword [esp + 0x3f4], edx
mov dword [esp + 0x3f0], eax
call fcn.0043bf2a
test byte [esp + 0x138], 1
jne 0x401c45
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x130], 0
test ecx, ecx
je 0x401c45
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x19c], 1
jne 0x401c6a
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x194], 0
test ecx, ecx
je 0x401c6a
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x13c]
test ecx, ecx
je 0x401c80
lock dec dword [ecx + 4]
jne 0x401c80
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0x140]
call fcn.0043bbac
mov eax, dword [esp + 0x3b0]
mov ebx, dword [eax + 0xc]
test ebx, ebx
je 0x401d2e
lea esi, [esp + 0x3b8]
lea edi, [esp + 0x80]
nop dword [eax]
add dword [esp + 0x200], 1
adc dword [esp + 0x204], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x80], xmm0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
lea ecx, [ebx + 0x20]
mov edx, edi
push dword [esp + 0x3ec]
push dword [esp + 0x3ec]
call fcn.00405be0
add esp, 8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
add dword [esp + 0x208], eax
adc dword [esp + 0x20c], ecx
lea edx, [ebx + 0x30]
mov ecx, esi
push edi
call fcn.00405d60
add esp, 4
mov ebx, dword [ebx]
test ebx, ebx
jne 0x401cb0
lea ebx, [esp + 0x3cc]
mov eax, dword [esp + 0x3b4]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x401dce
lea esi, [esp + 0x80]
nop
add dword [esp + 0x210], 1
adc dword [esp + 0x214], 0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x80], xmm0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
lea ecx, [edi + 0x20]
mov edx, esi
push dword [esp + 0x3f4]
push dword [esp + 0x3f4]
call fcn.00405be0
add esp, 8
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
add dword [esp + 0x218], eax
adc dword [esp + 0x21c], ecx
lea edx, [edi + 0x30]
mov ecx, ebx
push esi
call fcn.00405d60
add esp, 4
mov edi, dword [edi]
test edi, edi
jne 0x401d50
movzx eax, byte [esp + 0x398]
lea edi, [esp + 0x399]
test al, 1
je 0x401df1
mov ecx, dword [esp + 0x3a0]
mov eax, dword [esp + 0x39c]
jmp 0x401df5
shr eax, 1
mov ecx, edi
xorpd xmm0, xmm0
movupd xmmword [esp + 0x1a8], xmm0
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a0], ecx
movzx eax, byte [esp + 0x3a4]
lea edx, [esp + 0x3a5]
test al, 1
je 0x401e33
mov edx, dword [esp + 0x3ac]
mov eax, dword [esp + 0x3a8]
jmp 0x401e35
shr eax, 1
mov ecx, dword [ebp + 0x1c]
movupd xmmword [esp + 0x1c0], xmm0
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1b8], edx
mov ebx, dword [esp + 0x208]
mov esi, dword [esp + 0x20c]
mov eax, ebx
or eax, esi
je 0x401e7c
mov eax, dword [esp + 0x218]
or eax, dword [esp + 0x21c]
jne 0x401f22
jmp 0x40305f
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
sub edx, eax
cmp edx, 0x20
ja 0x401ea7
push 0x21
push str.Sum_of_sample_counts_for_profile
call fcn.0043bbc4
mov ecx, eax
movzx eax, byte [esp + 0x398]
test al, 1
jne 0x401ed2
shr eax, 1
jmp 0x401ee0
movups xmm0, xmmword [0x43dbf8]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.Sum_of_sample_counts_for_profile]
movupd xmmword [eax], xmm0
mov byte [eax + 0x20], 0x20
add dword [ecx + 0x10], 0x21
movzx eax, byte [esp + 0x398]
test al, 1
je 0x401ea3
mov edi, dword [esp + 0x3a0]
mov eax, dword [esp + 0x39c]
push eax
push edi
call fcn.0043bbc4
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 6
ja 0x40303a
mov ecx, eax
push 7
push str._is_0._n
call fcn.0043bbc4
mov eax, dword [esp + 0x218]
or eax, dword [esp + 0x21c]
je 0x40305f
or ebx, esi
je 0x4047b0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0x3f800000
mov eax, dword [esp + 0x3b0]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x401f73
lea ebx, [esp + 0x80]
lea esi, [esp + 0x30]
nop dword [eax]
lea eax, [edi + 0x20]
lea edx, [edi + 0x30]
mov dword [esp + 0x80], eax
mov ecx, esi
push ebx
push edx
push edx
call fcn.00408c90
mov edi, dword [edi]
test edi, edi
jne 0x401f50
mov eax, dword [esp + 0x3c]
jmp 0x401f75
xor eax, eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 0
mov eax, dword [esp + 0x3b4]
mov eax, dword [eax + 0xc]
test eax, eax
lea ebx, [esp + 0x3cc]
je 0x4029b0
lea edi, [esp + 0x98]
lea esi, [esp + 0x80]
jmp 0x401fdc
push esi
push dword [esp + 0x408]
call fcn.0040b3a0
add esp, 8
inc dword [esp + 0x408]
lea esi, [esp + 0x80]
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
test eax, eax
je 0x4029b0
xorpd xmm0, xmm0
movapd xmmword [esp + 0x110], xmm0
movapd xmmword [esp + 0x100], xmm0
movapd xmmword [esp + 0xf0], xmm0
movapd xmmword [esp + 0xe0], xmm0
movapd xmmword [esp + 0xd0], xmm0
movapd xmmword [esp + 0xc0], xmm0
movapd xmmword [esp + 0xb0], xmm0
movapd xmmword [esp + 0xa0], xmm0
movapd xmmword [esp + 0x90], xmm0
movapd xmmword [esp + 0x80], xmm0
mov dword [esp + 0x124], 0
mov dword [esp + 0x120], 0
movsd xmm0, qword [eax + 0x40]
movsd qword [edi + 0x10], xmm0
mov dword [esp + 0x20], eax
movups xmm0, xmmword [eax + 0x30]
movups xmmword [edi], xmm0
mov ecx, ebx
mov edx, edi
call fcn.004089f0
movsd xmm0, qword [eax]
movsd qword [esp + 0xf8], xmm0
lea ecx, [esp + 0x30]
push edi
call fcn.004091f0
test eax, eax
mov dword [esp + 0x50], eax
je 0x402170
add dword [esp + 0x1d0], 1
adc dword [esp + 0x1d4], 0
mov ecx, dword [eax + 0x20]
movsd xmm0, qword [ecx + 0x20]
movsd qword [esp + 0x90], xmm0
movupd xmm0, xmmword [ecx + 0x10]
movapd xmmword [esp + 0x80], xmm0
lea ecx, [esp + 0x3b8]
mov ebx, eax
mov edx, esi
call fcn.004089f0
mov edi, dword [eax]
mov ecx, esi
mov esi, dword [eax + 4]
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], esi
mov edx, dword [ebx + 0x20]
mov ebx, dword [esp + 0xf8]
mov eax, dword [esp + 0xfc]
test edx, edx
mov dword [esp + 0x60], eax
je 0x402220
mov eax, dword [esp + 0x20]
add eax, 0x20
mov dword [esp + 0x70], eax
mov eax, ebx
mov ebx, ecx
lea ecx, [esp + 0x1a0]
push ebx
mov ebx, eax
push dword [esp + 0x74]
call fcn.00409320
add esp, 8
movapd xmm1, xmm0
movapd xmm2, xmmword [0x43d0d0]
andpd xmm1, xmm2
cmpltsd xmm1, qword [esp + 0x3f8]
andnpd xmm1, xmm0
mov edx, dword [esp + 0xe8]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xf8]
jmp 0x40222e
mov ecx, ebx
mov edx, edi
call fcn.004089f0
mov edx, dword [eax]
mov ebx, dword [eax + 4]
movdqu xmm0, xmmword [esp + 0x1f0]
movdqu xmm1, xmmword [eax]
movdqa xmm2, xmmword [0x43d0f0]
punpcklqdq xmm2, xmm1
paddq xmm2, xmm0
movdqu xmmword [esp + 0x1f0], xmm2
mov edi, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3e8]
mov esi, ecx
mov dword [esp + 0x170], edi
or esi, edi
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xd8], edx
mov esi, dword [eax + 0x14]
mov dword [esp + 0x70], esi
mov esi, dword [eax + 0x10]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x3f4]
mov edi, dword [esp + 0x3f0]
je 0x4023ff
cmp edx, edi
mov dword [esp + 0x180], edx
mov edx, ebx
sbb edx, esi
mov edx, dword [esp + 0x180]
jae 0x4023ff
lea edi, [esp + 0x98]
movapd xmm7, xmmword [0x43d0d0]
jmp 0x4024b9
xorpd xmm1, xmm1
mov ecx, ebx
mov dword [esp + 0x70], eax
mov edx, edi
mov eax, esi
movd xmm0, edi
movd xmm2, esi
movd xmm3, ebx
movd xmm5, dword [esp + 0x60]
punpckldq xmm0, xmm2
movdqa xmm7, xmmword [0x43d0a0]
punpckldq xmm0, xmm7
movapd xmm2, xmmword [0x43d0b0]
subpd xmm0, xmm2
movapd xmm4, xmm0
unpckhpd xmm4, xmm0
addsd xmm4, xmm0
movdqu xmm0, xmmword [esp + 0x208]
punpckldq xmm0, xmm7
subpd xmm0, xmm2
movapd xmm2, xmm0
unpckhpd xmm2, xmm0
addsd xmm2, xmm0
movdqu xmm6, xmmword [esp + 0x218]
punpckldq xmm3, xmm5
punpckldq xmm3, xmm7
movapd xmm0, xmmword [0x43d0b0]
subpd xmm3, xmm0
movapd xmm5, xmm3
unpckhpd xmm5, xmm3
addsd xmm5, xmm3
punpckldq xmm6, xmm7
subpd xmm6, xmm0
movapd xmm0, xmm6
unpckhpd xmm0, xmm6
addsd xmm0, xmm6
divsd xmm4, xmm2
divsd xmm5, xmm0
subsd xmm4, xmm5
andpd xmm4, xmmword [0x43d0d0]
movsd xmm3, qword [0x43d0e0]
subsd xmm3, xmm4
movd xmm4, edx
mulsd xmm3, xmm1
movd xmm1, eax
punpckldq xmm4, xmm1
punpckldq xmm4, xmm7
movapd xmm5, xmmword [0x43d0b0]
subpd xmm4, xmm5
movapd xmm1, xmm4
unpckhpd xmm1, xmm4
addsd xmm1, xmm4
movd xmm4, ecx
divsd xmm1, xmm2
movd xmm2, dword [esp + 0x70]
punpckldq xmm4, xmm2
punpckldq xmm4, xmm7
subpd xmm4, xmm5
movapd xmm2, xmm4
unpckhpd xmm2, xmm4
addsd xmm2, xmm4
divsd xmm2, xmm0
movsd xmm0, qword [0x43d0e8]
mulsd xmm1, xmm0
mulsd xmm2, xmm0
addsd xmm2, xmm1
movsd qword [esp + 0x110], xmm3
mulsd xmm2, xmm3
addsd xmm2, qword [esp + 0x230]
movsd qword [esp + 0x230], xmm2
mov eax, dword [esp + 0xb8]
add dword [esp + 0x1d8], eax
mov eax, dword [esp + 0xbc]
adc dword [esp + 0x1dc], eax
mov eax, dword [esp + 0x108]
add dword [esp + 0x228], eax
mov eax, dword [esp + 0x10c]
adc dword [esp + 0x22c], eax
mov eax, dword [esp + 0xc8]
add dword [esp + 0x1e8], eax
mov eax, dword [esp + 0xcc]
adc dword [esp + 0x1ec], eax
mov eax, dword [esp + 0xd8]
add dword [esp + 0x1f8], eax
mov eax, dword [esp + 0xdc]
adc dword [esp + 0x1fc], eax
mov esi, dword [esp + 0x50]
mov dword [esp], esi
lea ecx, [esp + 0x30]
push esi
call fcn.0040a480
lea ecx, [esp + 0x3cc]
lea edi, [esp + 0x98]
jmp 0x4025a4
mov dword [esp + 0x190], edi
mov dword [esp + 0x440], esi
mov dword [esp + 0x180], ebx
mov ebx, dword [esp + 0x60]
add dword [esp + 0x370], ebx
mov esi, dword [esp + 0x70]
adc dword [esp + 0x374], esi
or ecx, dword [esp + 0x170]
movapd xmm7, xmmword [0x43d0d0]
je 0x402464
cmp edx, dword [esp + 0x190]
mov ebx, dword [esp + 0x180]
mov ecx, ebx
sbb ecx, dword [esp + 0x440]
lea ecx, [esp + 0x360]
lea edi, [esp + 0x98]
jae 0x4024ab
jmp 0x4024b9
add dword [esp + 0x350], ebx
adc dword [esp + 0x354], esi
cmp edx, dword [esp + 0x190]
mov ebx, dword [esp + 0x180]
mov ecx, ebx
sbb ecx, dword [esp + 0x440]
lea edi, [esp + 0x98]
jb 0x4024b9
mov ecx, dword [esp + 0x60]
add dword [esp + 0x360], ecx
adc dword [esp + 0x364], esi
lea ecx, [esp + 0x320]
mov edx, dword [esp + 0x60]
add dword [ecx], edx
adc dword [ecx + 4], esi
mov edx, dword [eax]
mov ebx, dword [eax + 4]
movupd xmm1, xmmword [esp + 0x208]
movupd xmm0, xmmword [esp + 0x218]
movapd xmm5, xmmword [0x43d0a0]
unpcklps xmm1, xmm5
movapd xmm6, xmmword [0x43d0b0]
subpd xmm1, xmm6
movapd xmm2, xmm1
unpckhpd xmm2, xmm1
addsd xmm2, xmm1
xorpd xmm1, xmm1
divsd xmm1, xmm2
movd xmm2, edx
movd xmm3, ebx
punpckldq xmm2, xmm3
movdqa xmm3, xmmword [0x43d0f0]
punpcklqdq xmm3, xmm2
punpckldq xmm2, xmm5
subpd xmm2, xmm6
movapd xmm4, xmm2
unpckhpd xmm4, xmm2
addsd xmm4, xmm2
unpcklps xmm0, xmm5
subpd xmm0, xmm6
movapd xmm2, xmm0
unpckhpd xmm2, xmm0
addsd xmm2, xmm0
divsd xmm4, xmm2
movapd xmm0, xmm1
subsd xmm0, xmm4
andpd xmm0, xmm7
movsd xmm2, qword [0x43d0e0]
subsd xmm2, xmm0
movsd xmm0, qword [0x43d0e8]
mulsd xmm1, xmm0
mulsd xmm4, xmm0
addsd xmm4, xmm1
mulsd xmm2, qword [0x43d170]
mulsd xmm4, xmm2
addsd xmm4, qword [esp + 0x230]
movsd qword [esp + 0x230], xmm4
movdqu xmm0, xmmword [esp + 0x220]
paddq xmm3, xmm0
movdqu xmmword [esp + 0x220], xmm3
lea ecx, [esp + 0x3cc]
mov esi, dword [esp + 0x50]
mov edx, edi
call fcn.004089f0
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x410]
mov edx, dword [esp + 0x414]
test esi, esi
je 0x402620
cmp ecx, ebx
mov edi, eax
sbb edi, edx
lea edi, [esp + 0x98]
jae 0x402620
movsd xmm0, qword [esp + 0x3e0]
ucomisd xmm0, qword [esp + 0x110]
lea esi, [esp + 0x80]
lea ebx, [esp + 0x3cc]
ja 0x402860
movzx eax, byte [esp + 0x418]
test al, 1
je 0x40263d
mov eax, dword [esp + 0x41c]
test eax, eax
jne 0x402647
jmp 0x401fce
cmp ecx, ebx
sbb eax, edx
lea esi, [esp + 0x80]
lea ebx, [esp + 0x3cc]
jb 0x401fce
jmp 0x402860
shr eax, 1
test eax, eax
je 0x401fce
cmp dword [esp + 0x90], 0
je 0x40269b
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x144], eax
sub esp, 0x10
movsd xmm0, qword [esp + 0x154]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 0xc], 0
call fcn.0040a5d0
add esp, 0x10
jmp 0x402720
mov ecx, dword [esp + 0x80]
test ecx, ecx
je 0x4026cc
mov ebx, dword [esp + 0x84]
cmp ebx, 0xfffffff0
jae 0x4048c0
cmp ebx, 0xb
jae 0x4026e5
mov eax, ebx
add al, bl
mov byte [esp], al
lea esi, [esp + 1]
test ebx, ebx
jne 0x40270a
jmp 0x402715
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
jmp 0x402720
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
mov esi, ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [esp + 8], eax
add edi, 2
mov dword [esp], edi
mov dword [esp + 4], ebx
push ebx
push ecx
push esi
call sub.msvcrt.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
lea esi, [esp + 0x80]
movzx eax, byte [esp]
mov dword [esp + 0x70], eax
test al, 1
mov ecx, dword [esp + 8]
mov edx, ecx
lea eax, [esp + 1]
cmove edx, eax
movzx ebx, byte [esp + 0x418]
test bl, 1
je 0x402780
mov eax, dword [esp + 0x420]
mov dword [esp + 0x50], eax
mov ebx, dword [esp + 0x41c]
test ebx, ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x170], ecx
je 0x40279c
test al, 1
je 0x4027b2
mov eax, dword [esp + 4]
lea ecx, [edx + eax]
cmp eax, ebx
mov dword [esp + 0x180], edx
jge 0x4027c2
jmp 0x402810
shr ebx, 1
lea eax, [esp + 0x419]
mov dword [esp + 0x50], eax
test ebx, ebx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x170], ecx
jne 0x402765
xor edi, edi
lea ebx, [esp + 0x3cc]
test al, 1
jne 0x40283b
jmp 0x40284a
shr eax, 1
lea ecx, [edx + eax]
cmp eax, ebx
mov dword [esp + 0x180], edx
jl 0x402810
mov esi, dword [esp + 0x50]
movsx esi, byte [esi]
mov dword [esp + 0x60], esi
mov esi, edx
nop
sub eax, ebx
inc eax
je 0x402810
mov edi, ecx
push eax
push dword [esp + 0x64]
push esi
call sub.msvcrt.dll_memchr
add esp, 0xc
test eax, eax
je 0x40299c
mov esi, eax
push ebx
push dword [esp + 0x54]
push eax
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4029a5
inc esi
mov ecx, edi
mov eax, edi
sub eax, esi
cmp eax, ebx
jge 0x4027d0
mov edi, ecx
mov esi, ecx
sub edi, dword [esp + 0x180]
cmp esi, ecx
mov eax, 0xffffffff
cmove edi, eax
lea ebx, [esp + 0x3cc]
lea esi, [esp + 0x80]
mov eax, dword [esp + 0x70]
test al, 1
je 0x40284a
push dword [esp + 0x170]
call sub.libc.dll_operator_delete_void_
add esp, 4
cmp edi, 0xffffffff
lea edi, [esp + 0x98]
je 0x401fce
nop word [eax + eax]
movss xmm2, dword [esp + 0xfc]
movups xmm1, xmmword [esp + 0xe8]
movaps xmm0, xmm1
shufps xmm0, xmm2, 0x24
movss xmm2, dword [esp + 0xf8]
movlhps xmm1, xmm2
movaps xmm4, xmmword [0x43d100]
andps xmm1, xmm4
movaps xmm5, xmmword [0x43d110]
orps xmm1, xmm5
psrlq xmm0, 0x20
movdqa xmm6, xmmword [0x43d120]
por xmm0, xmm6
movapd xmm7, xmmword [0x43d130]
subpd xmm0, xmm7
addpd xmm0, xmm1
movss xmm3, dword [esp + 0x21c]
movups xmm2, xmmword [esp + 0x208]
movaps xmm1, xmm2
shufps xmm1, xmm3, 0x24
movss xmm3, dword [esp + 0x218]
movlhps xmm2, xmm3
andps xmm2, xmm4
orps xmm2, xmm5
psrlq xmm1, 0x20
por xmm1, xmm6
subpd xmm1, xmm7
addpd xmm1, xmm2
divpd xmm0, xmm1
movupd xmmword [esp + 0x118], xmm0
push 0xc0
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov ecx, esi
mov esi, eax
movsd xmm0, qword [esp + 0x118]
movsd qword [esp + 0x50], xmm0
movsd qword [eax + 0x10], xmm0
add eax, 0x18
push 0xa8
push ecx
push eax
call sub.msvcrt.dll_memcpy
movsd xmm0, qword [esp + 0x5c]
add esp, 0xc
mov edx, dword [esp + 0x404]
lea ecx, [esp + 0x404]
mov eax, ecx
jmp 0x402954
mov edx, dword [eax]
mov ecx, eax
test edx, edx
je 0x40296b
mov eax, edx
ucomisd xmm0, qword [edx + 0x10]
ja 0x402950
mov edx, dword [eax + 4]
test edx, edx
jne 0x402958
lea ecx, [eax + 4]
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], eax
mov dword [ecx], esi
mov eax, dword [esp + 0x400]
mov eax, dword [eax]
test eax, eax
je 0x401fb0
mov dword [esp + 0x400], eax
mov esi, dword [ecx]
jmp 0x401fb0
mov ecx, edi
mov esi, edi
jmp 0x402814
mov eax, esi
mov ecx, edi
mov edi, esi
jmp 0x402814
mov edi, dword [esp + 0x38]
test edi, edi
jne 0x402bc5
movsd xmm0, qword [esp + 0x230]
mov eax, dword [esp + 0x3ec]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x3e8]
mov dword [esp + 0x170], eax
movsd xmm1, qword [0x43d150]
addsd xmm1, xmm0
andpd xmm1, xmmword [0x43d0d0]
cmpltsd xmm1, qword [esp + 0x3f8]
movsd xmm2, qword [0x43d0e0]
andpd xmm2, xmm1
andnpd xmm1, xmm0
orpd xmm1, xmm2
movlpd qword [esp + 0x230], xmm1
xorpd xmm0, xmm0
movapd xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0x3f800000
mov ecx, dword [esp + 0x3c0]
lea edx, [esp + 0x80]
push dword [esp + 0x70]
push dword [esp + 0x174]
call fcn.0040b4e0
add esp, 8
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], 0
xorpd xmm0, xmm0
movapd xmmword [esp], xmm0
mov dword [esp + 0x10], 0x3f800000
mov ecx, dword [esp + 0x3d4]
mov edx, esp
push dword [esp + 0x3f4]
push dword [esp + 0x3f4]
call fcn.0040b4e0
add esp, 8
mov eax, dword [esp + 0xc]
mov dword [esp + 0x2b8], eax
mov dword [esp + 0x2bc], 0
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], 0
mov edi, dword [esp + 0x88]
jmp 0x402d09
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0x20]
movd xmm1, eax
mov ecx, dword [esp + 0x50]
movd xmm0, ecx
punpckldq xmm1, xmm0
punpckldq xmm1, xmmword [0x43d0a0]
subpd xmm1, xmmword [0x43d0b0]
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
movss xmm3, dword [esp + 0x21c]
movups xmm2, xmmword [esp + 0x208]
movaps xmm1, xmm2
shufps xmm1, xmm3, 0x24
movss xmm3, dword [esp + 0x218]
movlhps xmm2, xmm3
andps xmm2, xmmword [0x43d100]
orps xmm2, xmmword [0x43d110]
psrlq xmm1, 0x20
por xmm1, xmmword [0x43d120]
subpd xmm1, xmmword [0x43d130]
addpd xmm1, xmm2
movq xmm2, xmm0
divpd xmm2, xmm1
movapd xmm0, xmm2
unpckhpd xmm0, xmm2
movapd xmm1, xmm2
subsd xmm1, xmm0
andpd xmm1, xmmword [0x43d0d0]
movsd xmm3, qword [0x43d0e0]
subsd xmm3, xmm1
mulpd xmm2, xmmword [0x43d140]
movapd xmm0, xmm2
unpckhpd xmm0, xmm2
addsd xmm0, xmm2
mulsd xmm3, qword [0x43d170]
mulsd xmm0, xmm3
addsd xmm0, qword [esp + 0x230]
movsd qword [esp + 0x230], xmm0
add dword [esp + 0x228], eax
adc dword [esp + 0x22c], ecx
mov edi, dword [edi]
test edi, edi
je 0x4029de
mov dword [esp + 0x60], edi
mov edx, dword [edi + 0x20]
add edx, 0x10
lea ecx, [esp + 0x3b8]
call fcn.004089f0
mov ebx, dword [eax]
mov edx, dword [eax + 4]
movdqu xmm0, xmmword [esp + 0x1e0]
movdqu xmm1, xmmword [eax]
movdqa xmm2, xmmword [0x43d0f0]
punpcklqdq xmm2, xmm1
paddq xmm2, xmm0
movdqu xmmword [esp + 0x1e0], xmm2
mov ecx, dword [esp + 0x3ec]
mov esi, dword [esp + 0x3e8]
mov dword [esp + 0x170], esi
mov dword [esp + 0x20], ebx
cmp ebx, esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x70], ecx
sbb edx, ecx
mov edi, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov ebx, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f0]
jae 0x402c4b
mov esi, ecx
or esi, ebx
jne 0x402ad0
add dword [esp + 0x370], edi
adc dword [esp + 0x374], edx
mov dword [esp + 0x180], edx
mov edx, dword [esp + 0x20]
cmp edx, dword [esp + 0x170]
mov esi, dword [esp + 0x50]
sbb esi, dword [esp + 0x70]
jae 0x402ca0
or ecx, ebx
lea esi, [esp + 0x360]
mov ecx, dword [esp + 0x180]
mov edx, edi
mov edi, dword [esp + 0x60]
jne 0x402ad4
jmp 0x402cda
add dword [esp + 0x350], edi
mov edx, dword [esp + 0x180]
adc dword [esp + 0x354], edx
or ecx, ebx
mov ecx, edx
mov edx, edi
mov edi, dword [esp + 0x60]
jne 0x402ad4
add dword [esp + 0x360], edx
adc dword [esp + 0x364], ecx
lea esi, [esp + 0x320]
add dword [esi], edx
adc dword [esi + 4], ecx
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
jmp 0x402ad4
lea eax, [esp + 0x2c8]
nop dword [eax + eax]
add dword [eax], 1
adc dword [eax + 4], 0
mov edi, dword [edi]
test edi, edi
je 0x402e8b
lea eax, [edi + 8]
cmp dword [edi + 0x18], 0
mov dword [esp + 0x50], eax
je 0x402d40
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
shl ecx, 4
add ecx, eax
push ecx
push eax
call fcn.004062d0
jmp 0x402d5a
movsd xmm0, qword [eax]
movsd qword [esp + 0x144], xmm0
sub esp, 8
movsd qword [esp], xmm0
call fcn.0043bb58
add esp, 8
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 4]
lea eax, [esp + 0x2c8]
test ebx, ebx
je 0x402d00
mov ecx, ebx
shr ecx, 1
and ecx, 0x55555555
mov eax, ebx
sub eax, ecx
mov ecx, eax
and ecx, 0x33333333
shr eax, 2
and eax, 0x33333333
add eax, ecx
mov ecx, eax
shr ecx, 4
add ecx, eax
and ecx, 0xf0f0f0f
imul ecx, ecx, 0x1010101
shr ecx, 0x18
cmp ecx, 1
ja 0x402dc0
lea edx, [ebx - 1]
and edx, dword [esp + 0x20]
jmp 0x402dd2
mov eax, dword [esp + 0x20]
mov edx, eax
cmp eax, ebx
jb 0x402dd2
mov eax, dword [esp + 0x20]
xor edx, edx
div ebx
mov eax, dword [esp]
mov dword [esp + 0x60], edx
mov edx, dword [eax + edx*4]
lea eax, [esp + 0x2c8]
test edx, edx
je 0x402d00
mov esi, dword [edx]
lea eax, [esp + 0x2c8]
test esi, esi
je 0x402d00
cmp ecx, 2
jae 0x402e2a
dec ebx
jmp 0x402e66
lea ecx, [esi + 8]
push dword [esp + 0x50]
call fcn.00408930
test al, al
jne 0x402e7f
mov esi, dword [esi]
test esi, esi
je 0x402cf1
mov eax, dword [esi + 4]
cmp dword [esp + 0x20], eax
je 0x402e10
cmp eax, ebx
jb 0x402e3d
xor edx, edx
div ebx
mov eax, edx
cmp eax, dword [esp + 0x60]
je 0x402e20
jmp 0x402cf1
and eax, ebx
cmp eax, dword [esp + 0x60]
jne 0x402cf1
mov esi, dword [esi]
test esi, esi
je 0x402cf1
mov eax, dword [esi + 4]
cmp dword [esp + 0x20], eax
jne 0x402e50
lea ecx, [esi + 8]
push dword [esp + 0x50]
call fcn.00408930
test al, al
je 0x402e5c
lea eax, [esp + 0x278]
jmp 0x402d00
mov eax, dword [esp + 8]
test eax, eax
mov ebx, dword [ebp + 0x1c]
je 0x402eb1
nop word cs:[eax + eax]
mov esi, dword [eax]
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, esi
test esi, esi
jne 0x402ea0
mov eax, dword [esp]
mov dword [esp], 0
test eax, eax
lea edi, [esp + 0x80]
je 0x402ecf
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x88]
test eax, eax
je 0x402ef1
nop word [eax + eax]
mov esi, dword [eax]
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, esi
test esi, esi
jne 0x402ee0
mov eax, dword [esp + 0x80]
mov dword [esp + 0x80], 0
test eax, eax
je 0x402f10
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x38]
test eax, eax
je 0x402f31
nop dword [eax + eax]
mov esi, dword [eax]
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, esi
test esi, esi
jne 0x402f20
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], 0
test eax, eax
je 0x402f4a
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x2c
ja 0x402fbd
mov ecx, ebx
push 0x2d
push 0x43dcbc
call fcn.0043bbc4
mov esi, eax
cmp dword [esp + 0x1b0], 0
je 0x402fef
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov dword [esp + 4], ecx
mov dword [esp], eax
sub esp, 0x10
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 4], xmm0
mov dword [esp], edi
mov dword [esp + 0xc], 0
call fcn.0040a5d0
add esp, 0x10
movzx eax, byte [esp + 0x80]
test al, 1
je 0x40313e
jmp 0x4031a5
movups xmm0, xmmword [0x43dcd9]
movups xmmword [eax + 0x1d], xmm0
movups xmm0, xmmword [0x43dccc]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [0x43dcbc]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x2d
mov esi, ebx
cmp dword [esp + 0x1b0], 0
jne 0x402f71
mov edx, dword [esp + 0x1a0]
test edx, edx
je 0x403111
mov ecx, dword [esp + 0x1a4]
cmp ecx, 0xfffffff0
jae 0x404b23
cmp ecx, 0xb
mov dword [esp + 0x20], ecx
jae 0x403149
mov eax, ecx
add al, cl
mov byte [esp + 0x80], al
lea edi, [esp + 0x81]
test ecx, ecx
jne 0x40317f
jmp 0x40318e
mov dword [ecx + 3], 0xa2e3020
mov dword [ecx], 0x20736920
add dword [eax + 0x10], 7
mov eax, dword [esp + 0x218]
or eax, dword [esp + 0x21c]
jne 0x401f1a
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx + 0xc]
mov eax, dword [ecx + 0x10]
sub edx, eax
cmp edx, 0x20
ja 0x403094
push 0x21
push str.Sum_of_sample_counts_for_profile
call fcn.0043bbc4
mov ecx, eax
lea edx, [esp + 0x3a5]
movzx eax, byte [esp + 0x3a4]
test al, 1
jne 0x4030c6
shr eax, 1
jmp 0x4030d4
movups xmm0, xmmword [0x43dbf8]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.Sum_of_sample_counts_for_profile]
movupd xmmword [eax], xmm0
mov byte [eax + 0x20], 0x20
add dword [ecx + 0x10], 0x21
lea edx, [esp + 0x3a5]
movzx eax, byte [esp + 0x3a4]
test al, 1
je 0x403090
mov edx, dword [esp + 0x3ac]
mov eax, dword [esp + 0x3a8]
push eax
push edx
call fcn.0043bbc4
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 6
ja 0x4030fb
mov ecx, eax
push 7
push str._is_0._n
call fcn.0043bbc4
jmp 0x4047b0
mov dword [ecx + 3], 0xa2e3020
mov dword [ecx], 0x20736920
add dword [eax + 0x10], 7
jmp 0x4047b0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x88], 0
movzx eax, byte [esp + 0x80]
test al, 1
jne 0x4031a5
shr eax, 1
lea edx, [esp + 0x81]
jmp 0x4031b3
mov ebx, ecx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, edi
mov ecx, dword [esp + 0x24]
add esp, 4
mov edi, eax
mov dword [esp + 0x88], eax
add ebx, 2
mov dword [esp + 0x80], ebx
mov ebx, dword [ebp + 0x1c]
mov dword [esp + 0x84], ecx
push ecx
push edx
push edi
call sub.msvcrt.dll_memmove
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov byte [edi + ecx], 0
lea edi, [esp + 0x80]
movzx eax, byte [esp + 0x80]
test al, 1
je 0x40313e
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x84]
mov ecx, esi
push eax
push edx
call fcn.0043bbc4
mov esi, eax
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
sub ecx, eax
cmp ecx, 0x12
ja 0x40322e
mov ecx, esi
push 0x13
push str._and_test_profile:
call fcn.0043bbc4
mov esi, eax
cmp dword [esp + 0x1c8], 0
je 0x40324f
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
sub esp, 0x10
movsd xmm0, qword [esp + 0x40]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 0xc], 0
call fcn.0040a5d0
add esp, 0x10
movzx eax, byte [esp]
test al, 1
je 0x4032a3
jmp 0x4032f9
movupd xmm0, xmmword [str._and_test_profile:]
movupd xmmword [eax], xmm0
mov dword [eax + 0xf], 0x203a656c
add dword [esi + 0x10], 0x13
cmp dword [esp + 0x1c8], 0
jne 0x4031e5
mov edx, dword [esp + 0x1b8]
test edx, edx
je 0x403284
mov ecx, dword [esp + 0x1bc]
cmp ecx, 0xfffffff0
jae 0x4048c0
cmp ecx, 0xb
mov dword [esp + 0x20], ecx
jae 0x4032ab
mov eax, ecx
add al, cl
mov byte [esp], al
lea edi, [esp + 1]
test ecx, ecx
jne 0x4032d7
jmp 0x4032e6
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
movzx eax, byte [esp]
test al, 1
jne 0x4032f9
shr eax, 1
lea edx, [esp + 1]
jmp 0x403301
mov ebx, ecx
or ebx, 0xf
lea eax, [ebx + 1]
push eax
mov edi, edx
call sub.libc.dll_operator_new_unsigned_int_
mov edx, edi
mov ecx, dword [esp + 0x24]
add esp, 4
mov edi, eax
mov dword [esp + 8], eax
add ebx, 2
mov dword [esp], ebx
mov ebx, dword [ebp + 0x1c]
mov dword [esp + 4], ecx
push ecx
push edx
push edi
call sub.msvcrt.dll_memmove
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov byte [edi + ecx], 0
lea edi, [esp + 0x80]
movzx eax, byte [esp]
test al, 1
je 0x4032a3
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov ecx, esi
push eax
push edx
call fcn.0043bbc4
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
sub edx, ecx
cmp edx, 0xf
ja 0x40332f
mov ecx, eax
push 0x10
push str._nProgram_level:_n
call fcn.0043bbc4
mov esi, esp
test byte [esp], 1
jne 0x403347
jmp 0x403353
movupd xmm0, xmmword [str._nProgram_level:_n]
movupd xmmword [ecx], xmm0
add dword [eax + 0x10], 0x10
mov esi, esp
test byte [esp], 1
je 0x403353
push dword [esp + 8]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x80], 1
je 0x40336c
push dword [esp + 0x88]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x23
ja 0x40338b
mov ecx, ebx
push 0x24
push str.__Whole_program_profile_similarity:
call fcn.0043bbc4
mov ecx, eax
jmp 0x4033af
movups xmm0, xmmword [0x43dd1f]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.__Whole_program_profile_similarity:]
movupd xmmword [eax], xmm0
mov dword [eax + 0x20], 0x203a7974
add dword [ebx + 0x10], 0x24
mov ecx, ebx
movsd xmm0, qword [esp + 0x230]
mulsd xmm0, qword [0x43d158]
mov dword [esp + 0x84], str._.3f__
mov dword [esp + 0x80], 0x43de90
movsd qword [esp + 0x88], xmm0
push edi
call fcn.0043bbd6
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x4033f5
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403403
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
movupd xmm0, xmmword [esp + 0x1d8]
movupd xmm7, xmmword [esp + 0x1e8]
movapd xmm2, xmmword [0x43d0a0]
unpcklps xmm0, xmm2
movapd xmm3, xmmword [0x43d0b0]
subpd xmm0, xmm3
movapd xmm6, xmm0
unpckhpd xmm6, xmm0
addsd xmm6, xmm0
movupd xmm0, xmmword [esp + 0x228]
unpcklps xmm0, xmm2
subpd xmm0, xmm3
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm6, xmm1
unpcklps xmm7, xmm2
subpd xmm7, xmm3
movapd xmm1, xmm7
unpckhpd xmm1, xmm7
movupd xmm5, xmmword [esp + 0x208]
unpcklps xmm5, xmm2
subpd xmm5, xmm3
movapd xmmword [esp + 0x170], xmm5
unpckhpd xmm5, xmm5
movupd xmm4, xmmword [esp + 0x1f8]
unpcklps xmm4, xmm2
movupd xmm3, xmmword [esp + 0x218]
unpcklps xmm3, xmm2
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x1f
ja 0x40350f
mov ecx, ebx
push 0x20
push str.__Whole_program_sample_overlap:
movapd xmmword [esp + 0x28], xmm1
movapd xmmword [esp + 0x68], xmm3
movapd xmmword [esp + 0x78], xmm4
movapd xmmword [esp + 0x58], xmm5
movapd xmmword [esp + 0x188], xmm6
movapd xmmword [esp + 0x448], xmm7
call fcn.0043bbc4
movapd xmm7, xmmword [esp + 0x440]
movapd xmm6, xmmword [esp + 0x180]
movapd xmm5, xmmword [esp + 0x50]
movapd xmm4, xmmword [esp + 0x70]
movapd xmm3, xmmword [esp + 0x60]
movapd xmm1, xmmword [esp + 0x20]
mov ecx, eax
jmp 0x40352c
movups xmm0, xmmword [0x43dd4b]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.__Whole_program_sample_overlap:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x20
mov ecx, ebx
movapd xmm0, xmmword [0x43d0b0]
subpd xmm4, xmm0
movapd xmmword [esp + 0x70], xmm4
subpd xmm3, xmm0
movapd xmmword [esp + 0x60], xmm3
addsd xmm1, xmm7
movapd xmmword [esp + 0x20], xmm1
mulsd xmm6, qword [0x43d158]
addsd xmm5, qword [esp + 0x170]
movapd xmmword [esp + 0x50], xmm5
mov dword [esp + 0x84], str._.3f__
mov dword [esp + 0x80], 0x43de90
movsd qword [esp + 0x88], xmm6
push edi
call fcn.0043bbd6
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x40359e
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x4035ac
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
movapd xmm3, xmmword [esp + 0x70]
movapd xmm4, xmm3
unpckhpd xmm4, xmm3
movapd xmm2, xmmword [esp + 0x60]
movapd xmm5, xmm2
unpckhpd xmm5, xmm2
movapd xmm1, xmmword [esp + 0x20]
divsd xmm1, qword [esp + 0x50]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x31
ja 0x403629
mov ecx, ebx
push 0x32
push str.____percentage_of_samples_unique_in_base_profile:
movapd xmmword [esp + 0x28], xmm1
movapd xmmword [esp + 0x58], xmm4
movapd xmmword [esp + 0x178], xmm5
call fcn.0043bbc4
movapd xmm5, xmmword [esp + 0x170]
movapd xmm4, xmmword [esp + 0x50]
movapd xmm3, xmmword [esp + 0x70]
movapd xmm2, xmmword [esp + 0x60]
movapd xmm1, xmmword [esp + 0x20]
mov ecx, eax
jmp 0x403657
movups xmm0, xmmword [0x43dd7c]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x43dd6c]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____percentage_of_samples_unique_in_base_profile:]
movupd xmmword [eax], xmm0
mov word [eax + 0x30], 0x203a
add dword [ebx + 0x10], 0x32
mov ecx, ebx
addsd xmm4, xmm3
movapd xmmword [esp + 0x50], xmm4
mulsd xmm1, qword [0x43d158]
addsd xmm5, xmm2
movapd xmmword [esp + 0x170], xmm5
mov dword [esp + 0x84], str._.3f__
mov dword [esp + 0x80], 0x43de90
movsd qword [esp + 0x88], xmm1
push edi
call fcn.0043bbd6
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x4036ab
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x4036b9
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
movapd xmm1, xmmword [esp + 0x50]
divsd xmm1, qword [esp + 0x170]
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x31
ja 0x4036f3
mov ecx, ebx
push 0x32
push str.____percentage_of_samples_unique_in_test_profile:
movapd xmmword [esp + 0x58], xmm1
call fcn.0043bbc4
movapd xmm1, xmmword [esp + 0x50]
mov ecx, eax
jmp 0x403721
movups xmm0, xmmword [0x43ddaf]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x43dd9f]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____percentage_of_samples_unique_in_test_profile:]
movupd xmmword [eax], xmm0
mov word [eax + 0x30], 0x203a
add dword [ebx + 0x10], 0x32
mov ecx, ebx
mulsd xmm1, qword [0x43d158]
mov dword [esp + 0x84], str._.3f__
mov dword [esp + 0x80], 0x43de90
movsd qword [esp + 0x88], xmm1
push edi
call fcn.0043bbd6
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x40375e
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x40376c
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x22
ja 0x40378b
mov ecx, ebx
push 0x23
push str.____total_samples_in_base_profile:
call fcn.0043bbc4
mov ecx, eax
jmp 0x4037af
movups xmm0, xmmword [0x43ddd2]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____total_samples_in_base_profile:]
movupd xmmword [eax], xmm0
mov dword [eax + 0x1f], 0x203a656c
add dword [ebx + 0x10], 0x23
mov ecx, ebx
push dword [esp + 0x20c]
push dword [esp + 0x20c]
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x4037ee
mov byte [ecx], 0xa
mov ecx, dword [eax + 0x10]
inc ecx
mov dword [eax + 0x10], ecx
mov edx, dword [eax + 0xc]
sub edx, ecx
cmp edx, 0x22
ja 0x403809
mov ecx, eax
push 0x23
push str.____total_samples_in_test_profile:
call fcn.0043bbc4
jmp 0x40382b
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
sub edx, ecx
cmp edx, 0x22
jbe 0x4037de
movups xmm0, xmmword [0x43ddf6]
movups xmmword [ecx + 0x10], xmm0
movupd xmm0, xmmword [str.____total_samples_in_test_profile:]
movupd xmmword [ecx], xmm0
mov dword [ecx + 0x1f], 0x203a656c
add dword [eax + 0x10], 0x23
mov ecx, eax
push dword [esp + 0x21c]
push dword [esp + 0x21c]
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403850
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x40385e
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
movupd xmm0, xmmword [esp + 0x1d0]
movupd xmm1, xmmword [esp + 0x220]
movapd xmm2, xmmword [0x43d0a0]
unpcklps xmm0, xmm2
movapd xmm3, xmmword [0x43d0b0]
subpd xmm0, xmm3
movapd xmm4, xmm0
unpckhpd xmm4, xmm0
addsd xmm4, xmm0
unpcklps xmm1, xmm2
subpd xmm1, xmm3
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
divsd xmm4, xmm0
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x13
ja 0x4038d5
mov ecx, ebx
push 0x14
push str.__Function_overlap:
movapd xmmword [esp + 0x28], xmm4
call fcn.0043bbc4
movapd xmm4, xmmword [esp + 0x20]
mov ecx, eax
jmp 0x4038ee
movupd xmm0, xmmword [str.__Function_overlap:]
movupd xmmword [eax], xmm0
mov dword [eax + 0x10], 0x203a7061
add dword [ebx + 0x10], 0x14
mov ecx, ebx
mulsd xmm4, qword [0x43d158]
mov dword [esp + 0x84], str._.3f__
mov dword [esp + 0x80], 0x43de90
movsd qword [esp + 0x88], xmm4
push edi
call fcn.0043bbd6
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x40392b
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403939
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x16
ja 0x403958
mov ecx, ebx
push 0x17
push str.____overlap_functions:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403977
movsd xmm0, qword [0x43de2e]
movsd qword [eax + 0xf], xmm0
movupd xmm0, xmmword [str.____overlap_functions:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x17
mov ecx, ebx
push dword [esp + 0x1d4]
push dword [esp + 0x1d4]
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x40399a
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x4039a8
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x25
ja 0x4039c7
mov ecx, ebx
push 0x26
push str.____functions_unique_in_base_profile:
call fcn.0043bbc4
mov ecx, eax
jmp 0x4039f1
movsd xmm0, qword [0x43de55]
movsd qword [eax + 0x1e], xmm0
movups xmm0, xmmword [0x43de47]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____functions_unique_in_base_profile:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x26
mov ecx, ebx
push dword [esp + 0x1e4]
push dword [esp + 0x1e4]
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403a14
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403a22
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x25
ja 0x403a41
mov ecx, ebx
push 0x26
push str.____functions_unique_in_test_profile:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403a6b
movsd xmm0, qword [0x43de7c]
movsd qword [eax + 0x1e], xmm0
movups xmm0, xmmword [0x43de6e]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____functions_unique_in_test_profile:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x26
mov ecx, ebx
push dword [esp + 0x1f4]
push dword [esp + 0x1f4]
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403a8e
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403a9c
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x17
ja 0x403abb
mov ecx, ebx
push 0x18
push str.__Hot_function_overlap:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403ada
movsd xmm0, qword [0x43dea8]
movsd qword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.__Hot_function_overlap:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x18
mov ecx, ebx
movupd xmm1, xmmword [esp + 0x278]
movupd xmm2, xmmword [esp + 0x2c8]
movapd xmm3, xmmword [0x43d0a0]
unpcklps xmm1, xmm3
movapd xmm4, xmmword [0x43d0b0]
subpd xmm1, xmm4
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
unpcklps xmm2, xmm3
subpd xmm2, xmm4
movapd xmm1, xmm2
unpckhpd xmm1, xmm2
addsd xmm1, xmm2
divsd xmm0, xmm1
mulsd xmm0, qword [0x43d158]
mov dword [esp + 0x84], str._.3f__
mov dword [esp + 0x80], 0x43de90
movsd qword [esp + 0x88], xmm0
push edi
call fcn.0043bbd6
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403b63
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403b71
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x1a
ja 0x403b90
mov ecx, ebx
push 0x1b
push str.____overlap_hot_functions:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403bad
movups xmm0, xmmword [0x43debc]
movups xmmword [eax + 0xb], xmm0
movupd xmm0, xmmword [str.____overlap_hot_functions:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x1b
mov ecx, ebx
push dword [esp + 0x27c]
push dword [esp + 0x27c]
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403bd0
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403bde
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x29
ja 0x403bfd
mov ecx, ebx
push 0x2a
push str.____hot_functions_unique_in_base_profile:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403c25
movups xmm0, xmmword [0x43dee7]
movups xmmword [eax + 0x1a], xmm0
movups xmm0, xmmword [0x43dedd]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____hot_functions_unique_in_base_profile:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x2a
mov ecx, ebx
mov eax, dword [esp + 0x2a8]
sub eax, dword [esp + 0x278]
mov edx, dword [esp + 0x2ac]
sbb edx, dword [esp + 0x27c]
push edx
push eax
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403c58
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403c66
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x29
ja 0x403c85
mov ecx, ebx
push 0x2a
push str.____hot_functions_unique_in_test_profile:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403cad
movups xmm0, xmmword [0x43df12]
movups xmmword [eax + 0x1a], xmm0
movups xmm0, xmmword [0x43df08]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____hot_functions_unique_in_test_profile:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x2a
mov ecx, ebx
mov eax, dword [esp + 0x2b8]
sub eax, dword [esp + 0x278]
mov edx, dword [esp + 0x2bc]
sbb edx, dword [esp + 0x27c]
push edx
push eax
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403ce0
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403cee
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x14
ja 0x403d0d
mov ecx, ebx
push 0x15
push str.__Hot_block_overlap:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403d2c
movsd xmm0, qword [0x43df30]
movsd qword [eax + 0xd], xmm0
movupd xmm0, xmmword [str.__Hot_block_overlap:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x15
mov ecx, ebx
movupd xmm1, xmmword [esp + 0x320]
movupd xmm2, xmmword [esp + 0x370]
movapd xmm3, xmmword [0x43d0a0]
unpcklps xmm1, xmm3
movapd xmm4, xmmword [0x43d0b0]
subpd xmm1, xmm4
movapd xmm0, xmm1
unpckhpd xmm0, xmm1
addsd xmm0, xmm1
unpcklps xmm2, xmm3
subpd xmm2, xmm4
movapd xmm1, xmm2
unpckhpd xmm1, xmm2
addsd xmm1, xmm2
divsd xmm0, xmm1
mulsd xmm0, qword [0x43d158]
mov dword [esp + 0x84], str._.3f__
mov dword [esp + 0x80], 0x43de90
movsd qword [esp + 0x88], xmm0
push edi
call fcn.0043bbd6
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403db5
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403dc3
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x17
ja 0x403de2
mov ecx, ebx
push 0x18
push str.____overlap_hot_blocks:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403e01
movsd xmm0, qword [0x43df49]
movsd qword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____overlap_hot_blocks:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x18
mov ecx, ebx
push dword [esp + 0x324]
push dword [esp + 0x324]
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403e24
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403e32
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x26
ja 0x403e51
mov ecx, ebx
push 0x27
push str.____hot_blocks_unique_in_base_profile:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403e7b
movsd xmm0, qword [0x43df71]
movsd qword [eax + 0x1f], xmm0
movups xmm0, xmmword [0x43df62]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____hot_blocks_unique_in_base_profile:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x27
mov ecx, ebx
mov eax, dword [esp + 0x350]
sub eax, dword [esp + 0x320]
mov edx, dword [esp + 0x354]
sbb edx, dword [esp + 0x324]
push edx
push eax
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403eae
mov byte [ecx], 0xa
inc dword [eax + 0x10]
jmp 0x403ebc
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
sub ecx, eax
cmp ecx, 0x26
ja 0x403edb
mov ecx, ebx
push 0x27
push str.____hot_blocks_unique_in_test_profile:
call fcn.0043bbc4
mov ecx, eax
jmp 0x403f05
movsd xmm0, qword [0x43df99]
movsd qword [eax + 0x1f], xmm0
movups xmm0, xmmword [0x43df8a]
movups xmmword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.____hot_blocks_unique_in_test_profile:]
movupd xmmword [eax], xmm0
add dword [ebx + 0x10], 0x27
mov ecx, ebx
mov eax, dword [esp + 0x360]
sub eax, dword [esp + 0x320]
mov edx, dword [esp + 0x364]
sbb edx, dword [esp + 0x324]
push edx
push eax
call fcn.0043bbe8
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x403f45
mov byte [ecx], 0xa
inc dword [eax + 0x10]
cmp dword [esp + 0x408], 0
jne 0x403f61
jmp 0x4047b0
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
cmp dword [esp + 0x408], 0
je 0x4047b0
xorpd xmm0, xmm0
movupd xmmword [esp + 0x84], xmm0
mov byte [esp + 0x94], 0
movapd xmm0, xmmword [0x43d160]
movupd xmmword [esp + 0x98], xmm0
mov edi, dword [sym.imp.libLLVM_17.dll_vtable_for_llvm::formatted_raw_ostream]
add edi, 8
mov dword [esp + 0x80], edi
mov dword [esp + 0xa8], 0
lea eax, [esp + 0xbc]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 4
lea ecx, [esp + 0x80]
push dword [ebp + 0x1c]
call fcn.0040b8b0
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 0x17
ja 0x404030
lea ecx, [esp + 0x80]
push 0x18
push str.Function_level_details:_n
call fcn.0043bbc4
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x8c]
sub ecx, eax
cmp ecx, 0xa
jbe 0x404068
mov dword [eax + 7], 0x74686769
mov dword [eax + 4], 0x69657720
mov dword [eax], 0x65736142
add dword [esp + 0x90], 0xb
jmp 0x40407b
movsd xmm0, qword [0x43dfb2]
movsd qword [eax + 0x10], xmm0
movupd xmm0, xmmword [str.Function_level_details:_n]
movupd xmmword [eax], xmm0
mov eax, dword [esp + 0x90]
add eax, 0x18
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x8c]
sub ecx, eax
cmp ecx, 0xa
ja 0x404012
lea ecx, [esp + 0x80]
push 0xb
push str.Base_weight
call fcn.0043bbc4
lea ecx, [esp + 0x80]
push 0xf
call fcn.0043bcd8
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 0xa
ja 0x4040b3
lea ecx, [esp + 0x80]
push 0xb
push str.Test_weight
call fcn.0043bbc4
jmp 0x4040cf
mov dword [eax + 7], 0x74686769
mov dword [eax + 4], 0x69657720
mov dword [eax], 0x74736554
add dword [esp + 0x90], 0xb
lea ecx, [esp + 0x80]
push 0x1e
call fcn.0043bcd8
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 9
ja 0x404107
lea ecx, [esp + 0x80]
push 0xa
push str.Similarity
call fcn.0043bbc4
jmp 0x404122
mov word [eax + 8], 0x7974
mov dword [eax + 4], 0x6972616c
mov dword [eax], 0x696d6953
add dword [esp + 0x90], 0xa
lea ecx, [esp + 0x80]
push 0x2b
call fcn.0043bcd8
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 6
ja 0x40415a
lea ecx, [esp + 0x80]
push 7
push str.Overlap
call fcn.0043bbc4
jmp 0x40416f
mov dword [eax + 3], 0x70616c72
mov dword [eax], 0x7265764f
add dword [esp + 0x90], 7
lea ecx, [esp + 0x80]
push 0x35
call fcn.0043bcd8
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 0xa
ja 0x4041a7
lea ecx, [esp + 0x80]
push 0xb
push str.Base_unique
call fcn.0043bbc4
jmp 0x4041c3
mov dword [eax + 7], 0x65757169
mov dword [eax + 4], 0x696e7520
mov dword [eax], 0x65736142
add dword [esp + 0x90], 0xb
lea ecx, [esp + 0x80]
push 0x43
call fcn.0043bcd8
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 0xa
ja 0x4041fb
lea ecx, [esp + 0x80]
push 0xb
push str.Test_unique
call fcn.0043bbc4
jmp 0x404217
mov dword [eax + 7], 0x65757169
mov dword [eax + 4], 0x696e7520
mov dword [eax], 0x74736554
add dword [esp + 0x90], 0xb
lea ecx, [esp + 0x80]
push 0x51
call fcn.0043bcd8
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 0xb
ja 0x40424f
lea ecx, [esp + 0x80]
push 0xc
push str.Base_samples
call fcn.0043bbc4
jmp 0x40426b
mov dword [eax + 8], 0x73656c70
mov dword [eax + 4], 0x6d617320
mov dword [eax], 0x65736142
add dword [esp + 0x90], 0xc
lea ecx, [esp + 0x80]
push 0x60
call fcn.0043bcd8
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 0xb
ja 0x4042a3
lea ecx, [esp + 0x80]
push 0xc
push str.Test_samples
call fcn.0043bbc4
jmp 0x4042bf
mov dword [eax + 8], 0x73656c70
mov dword [eax + 4], 0x6d617320
mov dword [eax], 0x74736554
add dword [esp + 0x90], 0xc
lea ecx, [esp + 0x80]
push 0x6f
call fcn.0043bcd8
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
sub ecx, eax
cmp ecx, 0xd
mov dword [esp + 0x70], edi
ja 0x404310
lea ecx, [esp + 0x80]
push 0xe
push str.Function_name_n
call fcn.0043bbc4
mov edi, dword [esp + 0x400]
lea eax, [esp + 0x404]
cmp edi, eax
jne 0x404348
jmp 0x404756
mov word [eax + 0xc], 0xa65
mov dword [eax + 8], 0x6d616e20
mov dword [eax + 4], 0x6e6f6974
mov dword [eax], 0x636e7546
add dword [esp + 0x90], 0xe
mov edi, dword [esp + 0x400]
lea eax, [esp + 0x404]
cmp edi, eax
je 0x404756
movsd xmm4, qword [0x43d158]
lea ebx, [esp + 0x80]
jmp 0x404371
mov eax, dword [edi + 0x90]
or eax, dword [edi + 0x94]
xorpd xmm5, xmm5
xorpd xmm3, xmm3
je 0x4043d2
movsd xmm0, qword [edi + 0x70]
movapd xmm1, xmmword [0x43d0a0]
unpcklps xmm0, xmm1
movapd xmm2, xmmword [0x43d0b0]
subpd xmm0, xmm2
movapd xmm3, xmm0
unpckhpd xmm3, xmm0
addsd xmm3, xmm0
movsd xmm0, qword [edi + 0x90]
unpcklps xmm0, xmm1
subpd xmm0, xmm2
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm3, xmm1
mulsd xmm3, xmm4
mov eax, dword [edi + 0x80]
or eax, dword [edi + 0x84]
xorpd xmm6, xmm6
je 0x40442f
movsd xmm0, qword [edi + 0x60]
movapd xmm1, xmmword [0x43d0a0]
unpcklps xmm0, xmm1
movapd xmm2, xmmword [0x43d0b0]
subpd xmm0, xmm2
movapd xmm6, xmm0
unpckhpd xmm6, xmm0
addsd xmm6, xmm0
movsd xmm0, qword [edi + 0x80]
unpcklps xmm0, xmm1
subpd xmm0, xmm2
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm6, xmm1
mulsd xmm6, xmm4
movapd xmmword [esp + 0x50], xmm6
movapd xmmword [esp + 0x20], xmm3
mov eax, dword [edi + 0xa0]
or eax, dword [edi + 0xa4]
movsd xmm1, qword [edi + 0x50]
movsd xmm0, qword [edi + 0xa0]
movsd xmm2, qword [edi + 0xb0]
mulsd xmm2, xmm4
mov dword [esp + 4], str._.2f__
mov dword [esp], 0x43de90
movsd qword [esp + 8], xmm2
je 0x4044b5
movapd xmm2, xmmword [0x43d0a0]
unpcklps xmm1, xmm2
movapd xmm3, xmmword [0x43d0b0]
subpd xmm1, xmm3
movapd xmm5, xmm1
unpckhpd xmm5, xmm1
addsd xmm5, xmm1
unpcklps xmm0, xmm2
subpd xmm0, xmm3
movapd xmm1, xmm0
unpckhpd xmm1, xmm0
addsd xmm1, xmm0
divsd xmm5, xmm1
mulsd xmm5, xmm4
movapd xmmword [esp + 0x60], xmm5
mov ecx, ebx
push esi
call fcn.0043bbd6
mov ecx, ebx
push 0xf
call fcn.0043bcd8
movsd xmm0, qword [edi + 0xb8]
mulsd xmm0, qword [0x43d158]
mov dword [esp + 4], str._.2f__
mov dword [esp], 0x43de90
movsd qword [esp + 8], xmm0
mov ecx, ebx
push esi
call fcn.0043bbd6
mov ecx, ebx
push 0x1e
call fcn.0043bcd8
movsd xmm0, qword [edi + 0xa8]
mulsd xmm0, qword [0x43d158]
mov dword [esp + 4], str._.2f__
mov dword [esp], 0x43de90
movsd qword [esp + 8], xmm0
mov ecx, ebx
push esi
call fcn.0043bbd6
mov ecx, ebx
push 0x2b
call fcn.0043bcd8
mov dword [esp + 4], str._.2f__
mov dword [esp], 0x43de90
movaps xmm0, xmmword [esp + 0x60]
movsd qword [esp + 8], xmm0
mov ecx, ebx
push esi
call fcn.0043bbd6
mov ecx, ebx
push 0x35
call fcn.0043bcd8
mov dword [esp + 4], str._.2f__
mov dword [esp], 0x43de90
movaps xmm0, xmmword [esp + 0x50]
movsd qword [esp + 8], xmm0
mov ecx, ebx
push esi
call fcn.0043bbd6
mov ecx, ebx
push 0x43
call fcn.0043bcd8
mov dword [esp + 4], str._.2f__
mov dword [esp], 0x43de90
movapd xmm0, xmmword [esp + 0x20]
movsd qword [esp + 8], xmm0
mov ecx, ebx
push esi
call fcn.0043bbd6
mov ecx, ebx
push 0x51
call fcn.0043bcd8
mov ecx, ebx
push dword [edi + 0x84]
push dword [edi + 0x80]
call fcn.0043bbe8
mov ecx, ebx
push 0x60
call fcn.0043bcd8
mov ecx, ebx
push dword [edi + 0x94]
push dword [edi + 0x90]
call fcn.0043bbe8
mov ecx, ebx
push 0x6f
call fcn.0043bcd8
cmp dword [edi + 0x40], 0
je 0x404630
movsd xmm0, qword [edi + 0x38]
movsd qword [esp + 0x30], xmm0
sub esp, 0x10
movsd qword [esp + 4], xmm0
mov dword [esp], esi
mov dword [esp + 0xc], 0
call fcn.0040a5d0
add esp, 0x10
movzx eax, byte [esp]
test al, 1
je 0x404680
jmp 0x4046d5
mov ecx, dword [edi + 0x30]
test ecx, ecx
je 0x404659
mov ebx, dword [edi + 0x34]
cmp ebx, 0xfffffff0
jae 0x4048c0
cmp ebx, 0xb
jae 0x404688
mov eax, ebx
add al, bl
mov byte [esp], al
lea eax, [esp + 1]
test ebx, ebx
jne 0x4046af
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
movzx eax, byte [esp]
test al, 1
jne 0x4046d5
nop dword [eax + eax]
shr eax, 1
lea edx, [esp + 1]
jmp 0x4046dd
mov esi, ebx
or esi, 0xf
lea eax, [esi + 1]
push eax
mov dword [esp + 0x24], ecx
call sub.libc.dll_operator_new_unsigned_int_
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 8], eax
add esi, 2
mov dword [esp], esi
mov dword [esp + 4], ebx
push ebx
push ecx
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
lea esi, [esp + 0xc]
add esp, 0xc
mov byte [eax + ebx], 0
lea ebx, [esp + 0x80]
movzx eax, byte [esp]
test al, 1
je 0x404680
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
mov ecx, ebx
push eax
push edx
call fcn.0043bbc4
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0xc], ecx
je 0x404740
mov byte [ecx], 0xa
inc dword [eax + 0x10]
test byte [esp], 1
je 0x404706
mov ecx, eax
push 1
push 0x43d9d3
call fcn.0043bbc4
test byte [esp], 1
jne 0x4046fa
mov eax, dword [esp + 0x70]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x90]
cmp eax, dword [esp + 0x88]
je 0x40477d
lea ecx, [esp + 0x80]
call fcn.0043bbb8
lea ecx, [esp + 0x80]
call fcn.0040b950
mov eax, dword [esp + 0xb0]
lea ecx, [esp + 0xbc]
cmp eax, ecx
je 0x4047a4
push eax
call sub.msvcrt.dll_free
add esp, 4
lea ecx, [esp + 0x80]
call fcn.0043bbd0
test byte [esp + 0x418], 1
je 0x4047c9
push dword [esp + 0x420]
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [esp + 0x404]
call fcn.0040b9c0
mov eax, dword [esp + 0x3d4]
test eax, eax
je 0x4047f1
mov esi, dword [eax]
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, esi
test esi, esi
jne 0x4047e0
mov eax, dword [esp + 0x3cc]
mov dword [esp + 0x3cc], 0
test eax, eax
je 0x404810
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, dword [esp + 0x3c0]
test eax, eax
je 0x404831
nop dword [eax + eax]
mov esi, dword [eax]
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov eax, esi
test esi, esi
jne 0x404820
mov eax, dword [esp + 0x3b8]
mov dword [esp + 0x3b8], 0
test eax, eax
je 0x404850
push eax
call sub.libc.dll_operator_delete_void_
add esp, 4
mov ecx, dword [esp + 0x3b4]
mov dword [esp + 0x3b4], 0
test ecx, ecx
je 0x40486b
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [esp + 0x3b0]
mov dword [esp + 0x3b0], 0
test ecx, ecx
je 0x404886
mov eax, dword [ecx]
call dword [eax + 4]
test byte [esp + 0x3a4], 1
je 0x40489f
push dword [esp + 0x3ac]
call sub.libc.dll_operator_delete_void_
add esp, 4
test byte [esp + 0x398], 1
je 0x4048b8
push dword [esp + 0x3a0]
call sub.libc.dll_operator_delete_void_
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esp
call fcn.00405aa0
movzx ebx, byte [esp + 0x398]
test bl, 1
je 0x4049d9
mov ecx, dword [esp + 0x3a0]
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x39c]
mov dword [esp + 0x12c], edx
jmp 0x404a6d
movzx ebx, byte [esp + 0x3a4]
test bl, 1
je 0x4049ef
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0x3a8]
mov dword [esp + 0x12c], edx
jmp 0x404a6d
mov dword [esp + 0x80], str.cannot_compare_probe_based_profile_with_non_probe_based_profile
jmp 0x40493d
mov dword [esp + 0x80], str.cannot_compare_CS_profile_with_non_CS_profile
mov word [esp + 0x90], 0x103
mov word [esp], 0
mov word [esp + 0x30], 0
sub esp, 0x14
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x10], eax
movups xmm0, xmmword [esp + 0x94]
movups xmmword [esp], xmm0
lea ecx, [esp + 0x14]
lea edx, [esp + 0x44]
call fcn.00405ad0
mov ecx, dword [esp + 0x198]
movzx ebx, byte [esp + 0x398]
test bl, 1
je 0x404a35
mov edx, dword [esp + 0x3a0]
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x39c]
jmp 0x404a42
mov ecx, dword [esp + 0x134]
movzx ebx, byte [esp + 0x3a4]
test bl, 1
je 0x404a59
mov edx, dword [esp + 0x3ac]
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x3a8]
jmp 0x404a66
shr ebx, 1
lea ecx, [esp + 0x399]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x12c], edx
jmp 0x404a6d
shr ebx, 1
lea ecx, [esp + 0x3a5]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x12c], edx
jmp 0x404a6d
lea ecx, [esp + 0x398]
call fcn.00405aa0
lea ecx, [esp + 0x3a4]
call fcn.00405aa0
lea ecx, [esp + 0x160]
call fcn.00405aa0
lea ecx, [esp + 0x150]
call fcn.00405aa0
shr ebx, 1
lea edx, [esp + 0x399]
mov dword [esp + 0x20], edx
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], eax
lea eax, [esp + 0x130]
jmp 0x404a7b
shr ebx, 1
lea edx, [esp + 0x3a5]
mov dword [esp + 0x20], edx
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x128], eax
lea eax, [esp + 0x128]
mov esi, esp
mov ecx, esi
push eax
call fcn.0043be88
mov word [esp + 0x90], 0x104
mov dword [esp + 0x80], esi
cmp ebx, 0xfffffff0
jb 0x404aa4
lea ecx, [esp + 0x30]
call fcn.00405aa0
cmp ebx, 0xb
jae 0x404abb
mov eax, ebx
add al, bl
mov byte [esp + 0x30], al
lea esi, [esp + 0x31]
test ebx, ebx
jne 0x404add
jmp 0x404aeb
mov edi, ebx
or edi, 0xf
lea eax, [edi + 1]
push eax
call sub.libc.dll_operator_new_unsigned_int_
add esp, 4
mov esi, eax
mov dword [esp + 0x38], eax
add edi, 2
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], ebx
push ebx
push dword [esp + 0x24]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esi + ebx], 0
mov word [esp + 0x144], 0
sub esp, 0x14
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x10], eax
movups xmm0, xmmword [esp + 0x94]
movups xmmword [esp], xmm0
lea ecx, [esp + 0x44]
lea edx, [esp + 0x158]
call fcn.00405ad0
lea ecx, [esp + 0x80]
call fcn.00405aa0
int3