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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x100
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0xe8], edx
lea edx, [esp + 0x90]
movsd xmm1, qword [eax + 0x20]
movsd xmm2, qword [eax + 0x18]
movsd xmm0, qword [eax + 0x28]
mov dword [esp + 0xec], ecx
lea ecx, [esp + 0x58]
movsd qword [esp + 0xb0], xmm1
movsd xmm1, qword [eax + 0x10]
movsd qword [esp + 0xa8], xmm2
movsd xmm2, qword [eax]
movsd qword [esp + 0xb8], xmm0
movsd qword [esp + 0xa0], xmm1
movsd xmm1, qword [eax + 8]
lea eax, [esp + 0xe8]
movsd qword [esp + 0x90], xmm2
movsd qword [esp + 0x98], xmm1
mov dword [esp + 0xc0], eax
push edx
call fcn.00417200
add esp, 4
mov esi, dword [esp + 0x60]
test esi, esi
je 0x424713
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x64]
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x58]
lea edx, [esp + 0x90]
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0xd0], xmm1
mov dword [esp + 0xd8], eax
call fcn.00428720
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4243e9
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4251bc
mov dword [0x6f1130], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4251bc
movsd xmm0, qword [esp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 8], 1
movsd qword [eax], xmm0
mov dword [eax + 8], esi
mov esi, 0x24
movsd xmm0, qword [esp + 0xd0]
movsd qword [eax + 0xc], xmm0
mov ecx, dword [esp + 0xd8]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], 1
movsd xmm1, qword [esp + 0xb0]
movsd xmm2, qword [esp + 0xa8]
mov eax, dword [esp + 0xc0]
movsd xmm0, qword [esp + 0xb8]
movsd qword [esp + 0x78], xmm1
movsd xmm1, qword [esp + 0xa0]
movsd qword [esp + 0x70], xmm2
movsd xmm2, qword [esp + 0x90]
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x68], xmm1
movsd xmm1, qword [esp + 0x98]
movsd qword [esp + 0x58], xmm2
movsd qword [esp + 0x60], xmm1
jmp 0x4244f5
movsd qword [ecx + esi - 0xc], xmm1
mov dword [ecx + esi - 4], ebx
inc edi
mov dword [esp + 0x10], ecx
movsd xmm0, qword [esp + 0xf0]
mov dword [esp + 8], edi
movsd qword [ecx + esi], xmm0
mov eax, dword [esp + 0xf8]
mov dword [ecx + esi + 8], eax
mov eax, edi
mov dword [esp + 0x54], edi
add esi, 0x18
lea edx, [esp + 0x58]
lea ecx, [esp + 0xd0]
push edx
call fcn.00417200
add esp, 4
mov ebx, dword [esp + 0xd8]
test ebx, ebx
je 0x42457d
mov edi, dword [esp + 8]
lea eax, [esp + 0xdc]
movsd xmm1, qword [esp + 0xd0]
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
cmp edi, dword [esp + 0x50]
movsd qword [esp + 0xf0], xmm0
mov dword [esp + 0xf8], eax
jne 0x4244c0
lea ecx, [esp + 0xd0]
lea edx, [esp + 0x58]
movsd qword [esp + 0x10], xmm1
call fcn.00428720
lea ecx, [esp + 0x4c]
mov edx, edi
call fcn.004163b0
movsd xmm1, qword [esp + 0x10]
mov ecx, dword [esp + 0x4c]
jmp 0x4244c0
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
cmp edx, 0x15
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], esi
jae 0x424728
cmp edx, 2
jb 0x424f43
mov eax, dword [esp + 8]
lea edi, [edx - 1]
mov edx, dword [esp + 8]
mov dword [esp + 0xc], 0
lea eax, [eax + eax*2]
lea eax, [ebx + eax*8]
mov dword [esp + 0x10], eax
jmp 0x4245f7
mov edx, dword [esp + 8]
movsd qword [esi], xmm0
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
movsd qword [esi + 8], xmm0
movsd qword [esi + 0x10], xmm1
mov ebx, dword [esp + 0x1c]
add dword [esp + 0x10], 0xffffffe8
inc dword [esp + 0xc]
test ecx, ecx
mov edi, ecx
je 0x424f43
lea ecx, [edi - 1]
cmp edx, 1
jbe 0x4251a6
lea esi, [ecx + ecx*2]
lea eax, [edi + edi*2]
movsd xmm1, qword [ebx + eax*8]
movsd xmm0, qword [ebx + esi*8]
mov bl, 2
ucomisd xmm1, xmm0
adc bl, 0xff
ucomisd xmm1, xmm0
sbb edi, edi
ucomisd xmm0, xmm1
movzx ebx, bl
cmovae ebx, edi
cmp bl, 0xff
jne 0x4245e0
mov edi, edx
mov edx, eax
sub edi, ecx
cmp edi, 3
mov edi, dword [esp + 0x1c]
movsd xmm1, qword [edi + esi*8 + 8]
movsd xmm2, qword [edi + esi*8 + 0x10]
lea ebx, [edi + esi*8]
lea esi, [edi + edx*8]
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [esi + 0x10]
movsd qword [ebx + 0x10], xmm1
movsd xmm1, qword [esi]
movsd xmm2, qword [esi + 8]
movsd qword [ebx + 8], xmm2
movsd qword [ebx], xmm1
jb 0x4245c2
movsd xmm1, qword [ebx + 0x30]
mov bl, 2
ucomisd xmm1, xmm0
adc bl, 0xff
ucomisd xmm1, xmm0
sbb edi, edi
ucomisd xmm0, xmm1
movzx ebx, bl
cmovae ebx, edi
mov edi, dword [esp + 0xc]
cmp bl, 0xff
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 8]
jne 0x4245c6
nop word cs:[eax + eax]
nop dword [eax + eax]
movsd xmm1, qword [ebx + 0x10]
mov esi, ebx
dec edi
movsd qword [ebx - 8], xmm1
movsd xmm1, qword [ebx]
movsd xmm2, qword [ebx + 8]
movsd qword [ebx - 0x10], xmm2
movsd qword [ebx - 0x18], xmm1
je 0x4245c6
movsd xmm1, qword [esi + 0x18]
mov al, 2
lea ebx, [esi + 0x18]
ucomisd xmm1, xmm0
adc al, 0xff
ucomisd xmm1, xmm0
sbb edx, edx
ucomisd xmm0, xmm1
movzx eax, al
cmovae eax, edx
cmp al, 0xff
mov edx, dword [esp + 8]
je 0x4246c0
jmp 0x4245c6
mov ebx, dword [0x6d3de0]
xor edx, edx
mov dword [esp + 0x3c], 0
jmp 0x424f43
mov eax, edx
mov ecx, 0x18
shr eax, 1
mul ecx
jo 0x4251b5
mov ecx, eax
test eax, eax
js 0x4251b5
mov eax, dword [0x6f1130]
mov dword [esp + 0x34], ecx
test eax, eax
jne 0x424766
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x425207
mov dword [0x6f1130], eax
mov ecx, dword [esp + 0x34]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x425207
mov ecx, dword [esp + 0x1c]
mov edi, dword [0x6d6b64]
xor esi, esi
mov dword [esp + 0xc], eax
lea edx, [ecx - 0x48]
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x40], edx
lea edx, [ecx - 0x18]
add ecx, 0x18
mov dword [esp + 0x44], edx
mov edx, dword [esp + 8]
mov dword [esp + 0xc8], ecx
mov eax, edx
jmp 0x4247dc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x424ee5
mov edx, eax
mov dword [esp + 0x10], edi
dec edx
je 0x424890
mov ecx, dword [esp + 0x1c]
lea ebx, [eax + eax*2]
mov dword [esp + 4], eax
lea eax, [edx + edx*2]
movsd xmm1, qword [ecx + eax*8]
movsd xmm0, qword [ecx + ebx*8 - 0x30]
mov al, 2
ucomisd xmm1, xmm0
adc al, 0xff
ucomisd xmm1, xmm0
sbb ecx, ecx
ucomisd xmm0, xmm1
movzx eax, al
cmovae eax, ecx
cmp al, 0xff
je 0x4248a0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 4]
xor edi, edi
lea eax, [eax + ebx*8]
add ecx, 0xfffffffe
mov dword [esp + 0x20], ecx
nop word cs:[eax + eax]
cmp dword [esp + 0x20], edi
je 0x4248f0
movsd xmm1, qword [eax]
mov ebx, edx
mov dl, 2
ucomisd xmm0, xmm1
adc dl, 0xff
ucomisd xmm0, xmm1
sbb ecx, ecx
ucomisd xmm1, xmm0
movzx edx, dl
movapd xmm0, xmm1
cmovae edx, ecx
inc edi
add eax, 0xffffffe8
cmp dl, 0xff
mov edx, ebx
jne 0x424840
sub edx, edi
inc edi
mov ecx, edx
mov edx, dword [esp + 8]
mov eax, ecx
test ecx, ecx
jne 0x424d27
jmp 0x4248f6
mov edi, 1
jmp 0x4248f4
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], ebx
lea eax, [eax + ebx*8]
nop dword [eax + eax]
cmp edx, 1
je 0x424c5e
movsd xmm1, qword [eax]
mov cl, 2
mov ebx, edx
ucomisd xmm0, xmm1
adc cl, 0xff
ucomisd xmm0, xmm1
sbb edx, edx
ucomisd xmm1, xmm0
movzx ecx, cl
movapd xmm0, xmm1
cmovae ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0x20]
add eax, 0xffffffe8
dec edx
cmp cl, 0xff
je 0x4248b0
jmp 0x424c60
mov edi, dword [esp + 4]
xor eax, eax
cmp esi, dword [esp + 0x94]
jne 0x424930
mov edx, esi
lea ecx, [esp + 0x90]
mov esi, eax
call fcn.00594830
mov eax, esi
mov ecx, dword [esp + 0x90]
mov esi, dword [esp + 0x98]
jmp 0x424934
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edi
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x90]
inc esi
cmp esi, 2
mov dword [esp + 0x98], esi
jb 0x4247d0
nop
cmp dword [edi + esi*8 - 8], 0
je 0x4249b0
mov edx, dword [edi + esi*8 - 0xc]
mov eax, dword [edi + esi*8 - 4]
cmp edx, eax
jbe 0x4249b0
cmp esi, 3
jb 0x4247d0
mov ecx, dword [edi + esi*8 - 0x14]
mov dword [esp + 0x10], edi
lea edi, [eax + edx]
lea ebx, [esi - 3]
cmp ecx, edi
jbe 0x424c4b
mov edi, dword [esp + 0x10]
cmp esi, 4
jb 0x4247d0
add edx, ecx
cmp dword [edi + esi*8 - 0x1c], edx
jbe 0x4249c0
jmp 0x4247d0
cmp esi, 3
jb 0x4249c6
mov ecx, dword [edi + esi*8 - 0x14]
mov eax, dword [edi + esi*8 - 4]
lea ebx, [esi - 3]
cmp ecx, eax
mov ecx, ebx
jb 0x4249c9
lea ecx, [esi - 2]
lea eax, [ecx + 1]
cmp esi, eax
jbe 0x425127
cmp esi, ecx
jbe 0x42513a
mov edx, dword [edi + ecx*8 + 4]
mov ebx, dword [edi + ecx*8]
mov dword [esp + 0x30], eax
mov eax, dword [edi + ecx*8 + 8]
add ebx, edx
mov esi, ebx
sub esi, eax
mov dword [esp + 4], esi
jb 0x42515c
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 8]
cmp ebx, edx
ja 0x42516f
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + ecx*8 + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xcc], eax
lea eax, [eax + eax*2]
lea esi, [edx + eax*8]
lea eax, [ecx + ecx*2]
mov dword [esp + 0x20], ecx
lea edi, [esi + eax*8]
lea eax, [ebx + ebx*2]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 4]
sub eax, ecx
cmp eax, ecx
jae 0x424b00
mov dword [esp + 4], eax
lea eax, [eax*8]
lea eax, [eax + eax*2]
mov dword [esp + 0x10], eax
push eax
push edi
mov ebx, dword [esp + 0x14]
push ebx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
add esp, 0xc
add edx, ebx
cmp dword [esp + 0x20], 0
jle 0x424aee
cmp dword [esp + 4], 0
jle 0x424aee
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
lea eax, [eax + ecx*8]
nop word cs:[eax + eax]
nop dword [eax]
movsd xmm0, qword [edx - 0x18]
movsd xmm1, qword [edi - 0x18]
mov cl, 2
ucomisd xmm0, xmm1
adc cl, 0xff
ucomisd xmm0, xmm1
sbb ebx, ebx
ucomisd xmm1, xmm0
movzx ecx, cl
cmovae ecx, ebx
cmp cl, 0xff
je 0x424ac0
add edx, 0xffffffe8
mov ecx, edx
jmp 0x424ac5
add edi, 0xffffffe8
mov ecx, edi
movsd xmm0, qword [ecx + 0x10]
cmp esi, edi
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [ecx]
movsd xmm1, qword [ecx + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
jae 0x424aee
add eax, 0xffffffe8
cmp edx, dword [esp + 0xc]
ja 0x424a90
mov ebx, dword [esp + 0xc]
mov esi, edi
jmp 0x424bc0
lea eax, [ecx*8]
lea eax, [eax + eax*2]
mov dword [esp + 0x10], eax
push eax
push esi
mov ebx, dword [esp + 0x14]
push ebx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add esp, 0xc
add edx, ebx
test eax, eax
jle 0x424bc0
cmp dword [esp + 4], eax
jle 0x424bc0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
lea eax, [ecx + eax*8]
mov dword [esp + 4], eax
nop dword [eax]
movsd xmm0, qword [edi]
movsd xmm1, qword [ebx]
mov cl, 2
mov eax, ebx
ucomisd xmm0, xmm1
adc cl, 0xff
ucomisd xmm0, xmm1
sbb edx, edx
ucomisd xmm1, xmm0
movzx ecx, cl
cmovae ecx, edx
xor ebx, ebx
xor edx, edx
cmp cl, 0xff
setne bl
lea ecx, [ebx + ebx*2]
lea ebx, [eax + ecx*8]
cmove eax, edi
movsd xmm0, qword [eax + 0x10]
movsd qword [esi + 0x10], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
sete al
cmp ebx, dword [esp + 0x10]
movsd qword [esi + 8], xmm1
movsd qword [esi], xmm0
lea esi, [esi + 0x18]
jae 0x424bbc
mov dl, al
lea eax, [edx + edx*2]
lea edi, [edi + eax*8]
cmp edi, dword [esp + 4]
jb 0x424b50
mov edx, dword [esp + 0x10]
sub edx, ebx
mov eax, edx
mov edx, 0xaaaaaaab
mul edx
shr edx, 1
and edx, 0xfffffff8
lea eax, [edx + edx*2]
push eax
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp + 0x98]
mov ecx, dword [esp + 0x24]
mov eax, esi
sub eax, ecx
jbe 0x42514b
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0xcc]
add ebx, dword [esp + 0x20]
mov dword [edi + ecx*8], edx
mov dword [edi + ecx*8 + 4], ebx
mov ecx, dword [esp + 0x30]
cmp esi, ecx
jbe 0x425180
lea eax, [eax*8 - 0x10]
lea ebx, [edi + ecx*8]
lea edx, [edi + ecx*8 + 8]
push eax
push edx
push ebx
call sub.msvcrt.dll_memmove
add esp, 0xc
dec esi
cmp esi, 2
mov dword [esp + 0x98], esi
jae 0x424960
jmp 0x4247d0
mov edi, dword [esp + 0x10]
cmp ecx, eax
mov ecx, ebx
jae 0x4249c6
jmp 0x4249c9
xor edx, edx
mov eax, dword [esp + 4]
mov dword [esp + 0x24], edx
mov edi, eax
sub edi, edx
jb 0x4251c3
mov edx, dword [esp + 8]
cmp eax, edx
ja 0x4251d8
cmp edi, 2
jae 0x424c96
mov ecx, dword [esp + 0x24]
mov eax, ecx
test ecx, ecx
jne 0x424d27
jmp 0x4248f6
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov ecx, edi
shr ecx, 1
lea eax, [eax + eax*2]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x44]
lea edx, [edx + ebx*8]
nop
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [edx + 0x10]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
add eax, 0x18
movsd xmm0, qword [esp + 0x68]
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
add edx, 0xffffffe8
dec ecx
jne 0x424cb0
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x24]
mov eax, ecx
test ecx, ecx
je 0x4248f6
cmp edi, 9
ja 0x4248f6
mov ebx, dword [esp + 4]
cmp ebx, edx
ja 0x4251e9
mov ecx, dword [esp + 0xc8]
mov edx, eax
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
mov ecx, edx
not ecx
mov dword [esp + 0x20], eax
add ecx, ebx
mov dword [esp + 0x24], ecx
nop dword [eax]
lea eax, [edx - 1]
mov edi, ebx
sub edi, eax
jb 0x425191
cmp edi, 1
jbe 0x424ec0
lea ecx, [eax + eax*2]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
lea edx, [edx + edx*2]
mov dword [esp + 0x2c], edx
lea ebx, [eax + ecx*8]
movsd xmm1, qword [eax + edx*8]
mov dl, 2
movsd xmm0, qword [ebx]
mov dword [esp + 0x30], ebx
ucomisd xmm1, xmm0
adc dl, 0xff
ucomisd xmm1, xmm0
sbb eax, eax
ucomisd xmm0, xmm1
movzx edx, dl
cmovae edx, eax
mov eax, dword [esp + 0x28]
cmp dl, 0xff
jne 0x424ec0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
cmp edi, 3
movsd xmm1, qword [eax + ecx*8 + 8]
movsd xmm2, qword [eax + ecx*8 + 0x10]
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x30]
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [edx + 0x10]
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [edx]
movsd xmm2, qword [edx + 8]
movsd qword [eax + 8], xmm2
movsd qword [eax], xmm1
jb 0x424e9a
movsd xmm1, qword [eax + 0x30]
mov al, 2
mov ebx, dword [esp + 0x20]
ucomisd xmm1, xmm0
adc al, 0xff
ucomisd xmm1, xmm0
sbb ecx, ecx
ucomisd xmm0, xmm1
movzx eax, al
cmovae eax, ecx
mov ecx, dword [esp + 0x24]
cmp al, 0xff
mov eax, dword [esp + 0x28]
jne 0x424e9e
nop word [eax + eax]
movsd xmm1, qword [ebx + 0x10]
mov edx, ebx
dec ecx
movsd qword [ebx - 8], xmm1
movsd xmm1, qword [ebx]
movsd xmm2, qword [ebx + 8]
movsd qword [ebx - 0x10], xmm2
movsd qword [ebx - 0x18], xmm1
je 0x424e9e
movsd xmm1, qword [edx + 0x18]
lea eax, [edx + 0x18]
mov dword [esp + 0x2c], eax
mov al, 2
ucomisd xmm1, xmm0
adc al, 0xff
ucomisd xmm1, xmm0
sbb ebx, ebx
ucomisd xmm0, xmm1
movzx eax, al
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x2c]
cmovae eax, dword [esp + 0x30]
cmp al, 0xff
mov eax, dword [esp + 0x28]
je 0x424e40
jmp 0x424e9e
mov eax, dword [esp + 0x28]
movsd qword [edx], xmm0
movsd xmm0, qword [esp + 0x58]
movsd xmm1, qword [esp + 0x60]
movsd qword [edx + 8], xmm0
movsd qword [edx + 0x10], xmm1
nop dword [eax + eax]
test eax, eax
je 0x4248f6
mov ebx, dword [esp + 4]
add dword [esp + 0x20], 0xffffffe8
inc dword [esp + 0x24]
cmp edi, 0xa
mov edx, eax
jb 0x424d60
jmp 0x4248f6
test dword [esp + 0x94], 0x1fffffff
je 0x424f00
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x34]
mov ecx, 0xaaaaaaab
mov eax, esi
mul ecx
cmp esi, 0x18
jb 0x424f3b
shr edx, 1
mov ebx, dword [esp + 0x1c]
mov ecx, esi
and edx, 0xfffffff8
lea eax, [edx + edx*2]
mov edx, esi
sub ecx, eax
cmp esi, ecx
je 0x424f3f
push dword [esp + 0xc]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x424f3f
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
shl edx, 3
mov ecx, 0xc
lea eax, [edx + edx*2]
mov dword [esp + 0x10], eax
sar eax, 3
imul eax, eax, 0xaaaaaaab
mov esi, eax
mul ecx
jo 0x4251b5
mov edi, eax
test eax, eax
js 0x4251b5
test edi, edi
je 0x424fa7
mov eax, dword [0x6f1130]
test eax, eax
jne 0x424f8a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x424f99
mov dword [0x6f1130], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x424fac
mov ecx, edi
mov edx, 4
call fcn.0040a640
ud2
mov ecx, 4
mov edx, 0xaaaaaaab
mov eax, edi
mul edx
mov eax, dword [esp + 0x38]
shr edx, 3
cmp edx, esi
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, dword [esp + 0x10]
mov dword [eax + 8], 0
lea edi, [ebx + edx]
jb 0x425094
xor eax, eax
cmp edi, ebx
je 0x4250be
lea esi, [eax + eax*2]
mov dword [esp + 4], edi
lea ecx, [ecx + esi*4]
xor esi, esi
mov dword [esp + 0xc], ecx
mov ecx, 0xffffffe8
nop word cs:[eax + eax]
cmp dword [ebx + esi*2 + 8], 0
je 0x425072
movsd xmm0, qword [ebx + esi*2 + 0x10]
lea edi, [esp + 0x60]
mov edx, ebx
inc eax
movsd qword [esp + 0x68], xmm0
movsd xmm0, qword [ebx + esi*2]
movsd xmm1, qword [ebx + esi*2 + 8]
movsd qword [esp + 0x60], xmm1
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [edi]
mov ebx, dword [edi + 8]
mov edi, dword [esp + 0xc]
movsd qword [esp + 0x90], xmm0
mov dword [esp + 0x98], ebx
mov dword [edi + esi + 8], ebx
mov ebx, dword [esp + 0x10]
movsd qword [edi + esi], xmm0
add esi, 0xc
lea ebx, [ebx + ecx - 0x18]
add ecx, 0xffffffe8
cmp ebx, 0xffffffe8
mov ebx, edx
jne 0x425000
mov edx, dword [esp + 4]
mov edi, edx
jmp 0x42507a
mov edx, dword [esp + 4]
mov edi, ebx
sub edi, ecx
sub edx, edi
mov ecx, edx
sar ecx, 3
imul esi, ecx, 0xaaaaaaab
mov ecx, dword [esp + 0x38]
test edx, edx
mov dword [ecx + 8], eax
jne 0x4250cb
jmp 0x4250ff
mov dword [esp + 4], edi
mov edi, dword [esp + 0x38]
xor edx, edx
mov ecx, edi
push esi
call fcn.004161f0
mov edx, dword [esp + 0x14]
add esp, 4
mov ecx, dword [edi]
mov eax, dword [edi + 8]
mov edi, dword [esp + 4]
cmp edi, ebx
jne 0x424fe1
mov edi, ebx
mov ecx, dword [esp + 0x38]
test edx, edx
mov dword [ecx + 8], eax
je 0x4250ff
shl esi, 3
add edi, 0xc
lea esi, [esi + esi*2]
jmp 0x4250e8
add edi, 0x18
add esi, 0xffffffe8
je 0x4250ff
cmp dword [edi], 0
je 0x4250e0
push dword [edi - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x4250e0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x42511f
shl eax, 3
lea eax, [eax + eax*2]
test eax, eax
je 0x42511f
push ebx
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, eax
mov edx, esi
push 0x6d3eb0
call fcn.0045a150
add esp, 4
ud2
mov edx, esi
push 0x6d3ec0
call fcn.0045a150
add esp, 4
ud2
mov edx, esi
push 0x6d0b78
call fcn.0045a150
add esp, 4
ud2
mov ecx, eax
mov edx, ebx
push 0x6d3ed0
call fcn.0045ce70
add esp, 4
ud2
mov ecx, ebx
push 0x6d3ed0
call fcn.0045ab50
add esp, 4
ud2
mov edx, esi
push 0x6d3ee0
call fcn.0040b3d0
add esp, 4
ud2
mov ecx, eax
mov edx, dword [esp + 4]
push 0x6d3ea0
call fcn.0045ce70
add esp, 4
ud2
push 0x6d0b68
call fcn.0045a820
add esp, 4
ud2
call fcn.0040a620
ud2
mov ecx, 0x18
jmp 0x42520b
mov ecx, dword [esp + 0x24]
mov edx, eax
push 0x6d3e90
call fcn.0045ce70
add esp, 4
ud2
mov ecx, eax
push 0x6d3e90
call fcn.0045ab50
add esp, 4
ud2
mov ecx, eax
dec ecx
cmp ebx, ecx
jb 0x425193
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
push 0x6d3ea0
call fcn.0045ab50
add esp, 4
ud2
mov ecx, dword [esp + 0x34]
mov edx, 8
call fcn.0040a640
ud2