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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [esp + 0x90], edx
lea edx, [esp + 0x84]
mov dword [esp + 0x84], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x88], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x8c], ecx
lea ecx, [esp + 0x40]
push edx
call fcn.00417370
add esp, 4
mov edi, dword [esp + 0x48]
test edi, edi
je 0x423813
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x4c]
mov eax, dword [esp + 0x54]
movsd qword [esp + 0x10], xmm0
movsd qword [esp + 0x28], xmm1
mov dword [esp + 0x30], eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x423571
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x42428c
mov dword [0x6f1130], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x42428c
movsd xmm0, qword [esp + 0x10]
mov dword [esp + 0x10], eax
mov ebx, 0x24
mov dword [esp + 8], 1
movsd qword [eax], xmm0
mov dword [eax + 8], edi
movsd xmm0, qword [esp + 0x28]
movsd qword [eax + 0xc], xmm0
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x14], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 1
mov dword [esp + 0x78], 1
mov eax, dword [esp + 0x8c]
movsd xmm0, qword [esp + 0x84]
mov dword [esp + 0xa0], eax
movsd qword [esp + 0x98], xmm0
jmp 0x42361f
movsd qword [ecx + ebx - 0xc], xmm1
mov dword [ecx + ebx - 4], edi
inc esi
mov dword [esp + 0x10], ecx
movsd xmm0, qword [esp + 0x28]
mov dword [esp + 8], esi
movsd qword [ecx + ebx], xmm0
mov eax, dword [esp + 0x30]
mov dword [ecx + ebx + 8], eax
mov eax, esi
mov dword [esp + 0x78], esi
add ebx, 0x18
lea edx, [esp + 0x98]
lea ecx, [esp + 0x40]
push edx
call fcn.00417370
add esp, 4
mov edi, dword [esp + 0x48]
test edi, edi
je 0x423684
mov esi, dword [esp + 8]
lea eax, [esp + 0x4c]
movsd xmm1, qword [esp + 0x40]
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [eax + 8]
cmp esi, dword [esp + 0x74]
movsd qword [esp + 0x28], xmm0
mov dword [esp + 0x30], eax
jne 0x4235f0
lea ecx, [esp + 0x70]
mov edx, esi
movsd qword [esp + 0x10], xmm1
call fcn.004163b0
movsd xmm1, qword [esp + 0x10]
mov ecx, dword [esp + 0x70]
jmp 0x4235f0
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
cmp edx, 0x15
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x60], esi
jae 0x423828
cmp edx, 2
jb 0x424020
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 0x4236fe
mov edx, dword [esp + 8]
movsd qword [esi], xmm0
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
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 0x424020
lea ecx, [edi - 1]
cmp edx, 1
jbe 0x424276
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 0x4236e7
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 + 0x48], xmm2
movsd qword [esp + 0x40], 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 0x4236c9
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 0x4236cd
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 0x4236cd
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 0x4237c0
jmp 0x4236cd
mov ebx, dword [0x6d3de0]
xor edx, edx
mov dword [esp + 0x60], 0
jmp 0x424020
mov eax, edx
mov ecx, 0x18
shr eax, 1
mul ecx
jo 0x424285
mov ecx, eax
test eax, eax
js 0x424285
mov eax, dword [0x6f1130]
mov dword [esp + 0x58], ecx
test eax, eax
jne 0x423866
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4242d7
mov dword [0x6f1130], eax
mov ecx, dword [esp + 0x58]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4242d7
mov ecx, dword [esp + 0x1c]
mov edi, dword [0x6d6b64]
xor esi, esi
mov dword [esp + 0xc], eax
lea edx, [ecx - 0x48]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x64], edx
lea edx, [ecx - 0x18]
add ecx, 0x18
mov dword [esp + 0x68], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], ecx
mov eax, edx
jmp 0x4238cc
mov eax, dword [esp + 0x34]
test eax, eax
je 0x423fc5
mov edx, eax
mov dword [esp + 0x10], edi
dec edx
je 0x423980
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 0x423990
mov eax, dword [esp + 0x64]
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 0x4239e0
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 0x423930
sub edx, edi
inc edi
mov ecx, edx
mov edx, dword [esp + 8]
mov eax, ecx
test ecx, ecx
jne 0x423e07
jmp 0x4239e6
mov edi, 1
jmp 0x4239e4
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], ebx
lea eax, [eax + ebx*8]
nop dword [eax + eax]
cmp edx, 1
je 0x423d35
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 0x4239a0
jmp 0x423d37
mov edi, dword [esp + 4]
xor eax, eax
cmp esi, dword [esp + 0x2c]
jne 0x423a10
mov edx, esi
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.00594830
mov eax, esi
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
jmp 0x423a14
mov ecx, dword [esp + 0x10]
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edi
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x28]
inc esi
cmp esi, 2
mov dword [esp + 0x30], esi
jb 0x4238c0
nop word cs:[eax + eax]
nop
cmp dword [edi + esi*8 - 8], 0
je 0x423a90
mov edx, dword [edi + esi*8 - 0xc]
mov eax, dword [edi + esi*8 - 4]
cmp edx, eax
jbe 0x423a90
cmp esi, 3
jb 0x4238c0
mov ecx, dword [edi + esi*8 - 0x14]
mov dword [esp + 0x10], edi
lea edi, [eax + edx]
lea ebx, [esi - 3]
cmp ecx, edi
jbe 0x423d22
mov edi, dword [esp + 0x10]
cmp esi, 4
jb 0x4238c0
add edx, ecx
cmp dword [edi + esi*8 - 0x1c], edx
jbe 0x423aa0
jmp 0x4238c0
cmp esi, 3
jb 0x423aa6
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 0x423aa9
lea ecx, [esi - 2]
lea eax, [ecx + 1]
cmp esi, eax
jbe 0x4241f7
cmp esi, ecx
jbe 0x42420a
mov edx, dword [edi + ecx*8 + 4]
mov ebx, dword [edi + ecx*8]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + ecx*8 + 8]
add ebx, edx
mov esi, ebx
sub esi, eax
mov dword [esp + 4], esi
jb 0x42422c
mov dword [esp + 0x38], edx
mov edx, dword [esp + 8]
cmp ebx, edx
ja 0x42423f
mov dword [esp + 0x24], ecx
mov ecx, dword [edi + ecx*8 + 0xc]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x80], 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 + 0x6c], eax
mov eax, dword [esp + 4]
sub eax, ecx
cmp eax, ecx
jae 0x423be0
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 0x423bce
cmp dword [esp + 4], 0
jle 0x423bce
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
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 0x423ba0
add edx, 0xffffffe8
mov ecx, edx
jmp 0x423ba5
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 0x423bce
add eax, 0xffffffe8
cmp edx, dword [esp + 0xc]
ja 0x423b70
mov ebx, dword [esp + 0xc]
mov esi, edi
jmp 0x423ca0
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 0x423ca0
cmp dword [esp + 4], eax
jle 0x423ca0
mov eax, dword [esp + 0x6c]
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 0x423c9c
mov dl, al
lea eax, [edx + edx*2]
lea edi, [edi + eax*8]
cmp edi, dword [esp + 4]
jb 0x423c30
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 + 0x30]
mov ecx, dword [esp + 0x24]
mov eax, esi
sub eax, ecx
jbe 0x42421b
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x80]
add ebx, dword [esp + 0x20]
mov dword [edi + ecx*8], edx
mov dword [edi + ecx*8 + 4], ebx
mov ecx, dword [esp + 0x3c]
cmp esi, ecx
jbe 0x424250
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 + 0x30], esi
jae 0x423a40
jmp 0x4238c0
mov edi, dword [esp + 0x10]
cmp ecx, eax
mov ecx, ebx
jae 0x423aa6
jmp 0x423aa9
xor edx, edx
mov eax, dword [esp + 4]
mov dword [esp + 0x24], edx
mov edi, eax
sub edi, edx
jb 0x424293
mov edx, dword [esp + 8]
cmp eax, edx
ja 0x4242a8
cmp edi, 2
jae 0x423d6d
mov ecx, dword [esp + 0x24]
mov eax, ecx
test ecx, ecx
jne 0x423e07
jmp 0x4239e6
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 + 0x68]
lea edx, [edx + ebx*8]
nop word cs:[eax + eax]
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], 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 + 0x50]
movsd qword [edx + 0x10], xmm0
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
movsd qword [edx + 8], xmm1
movsd qword [edx], xmm0
add edx, 0xffffffe8
dec ecx
jne 0x423d90
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x24]
mov eax, ecx
test ecx, ecx
je 0x4239e6
cmp edi, 9
ja 0x4239e6
mov ebx, dword [esp + 4]
cmp ebx, edx
ja 0x4242b9
mov ecx, dword [esp + 0x7c]
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 word cs:[eax + eax]
lea eax, [edx - 1]
mov edi, ebx
sub edi, eax
jb 0x424261
cmp edi, 1
jbe 0x423fa0
lea ecx, [eax + eax*2]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
lea edx, [edx + edx*2]
mov dword [esp + 0x38], edx
lea ebx, [eax + ecx*8]
movsd xmm1, qword [eax + edx*8]
mov dl, 2
movsd xmm0, qword [ebx]
mov dword [esp + 0x3c], 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 + 0x34]
cmp dl, 0xff
jne 0x423fa0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
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 + 0x3c]
movsd qword [esp + 0x48], xmm2
movsd qword [esp + 0x40], 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 0x423f7a
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 + 0x34]
jne 0x423f7e
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 0x423f7e
movsd xmm1, qword [edx + 0x18]
lea eax, [edx + 0x18]
mov dword [esp + 0x38], 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 + 0x3c], ebx
mov ebx, dword [esp + 0x38]
cmovae eax, dword [esp + 0x3c]
cmp al, 0xff
mov eax, dword [esp + 0x34]
je 0x423f20
jmp 0x423f7e
mov eax, dword [esp + 0x34]
movsd qword [edx], xmm0
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
movsd qword [edx + 8], xmm0
movsd qword [edx + 0x10], xmm1
nop dword [eax + eax]
test eax, eax
je 0x4239e6
mov ebx, dword [esp + 4]
add dword [esp + 0x20], 0xffffffe8
inc dword [esp + 0x24]
cmp edi, 0xa
mov edx, eax
jb 0x423e40
jmp 0x4239e6
test dword [esp + 0x2c], 0x1fffffff
je 0x423fdd
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x58]
mov ecx, 0xaaaaaaab
mov eax, esi
mul ecx
cmp esi, 0x18
jb 0x424018
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 0x42401c
push dword [esp + 0xc]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x42401c
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 0x424285
mov edi, eax
test eax, eax
js 0x424285
test edi, edi
je 0x424084
mov eax, dword [0x6f1130]
test eax, eax
jne 0x424067
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x424076
mov dword [0x6f1130], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x424089
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 + 0x5c]
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 0x42416e
xor eax, eax
cmp edi, ebx
je 0x424198
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]
nop dword [eax]
cmp dword [ebx + esi*2 + 8], 0
je 0x42414c
movsd xmm0, qword [ebx + esi*2 + 0x10]
lea edi, [esp + 0x48]
mov edx, ebx
inc eax
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [ebx + esi*2]
movsd xmm1, qword [ebx + esi*2 + 8]
movsd qword [esp + 0x48], xmm1
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [edi]
mov ebx, dword [edi + 8]
mov edi, dword [esp + 0xc]
movsd qword [esp + 0x28], xmm0
mov dword [esp + 0x30], 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 0x4240e0
mov edx, dword [esp + 4]
mov edi, edx
jmp 0x424154
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 + 0x5c]
test edx, edx
mov dword [ecx + 8], eax
jne 0x4241a5
jmp 0x4241cf
mov dword [esp + 4], edi
mov edi, dword [esp + 0x5c]
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 0x4240be
mov edi, ebx
mov ecx, dword [esp + 0x5c]
test edx, edx
mov dword [ecx + 8], eax
je 0x4241cf
shl esi, 3
add edi, 0xc
lea esi, [esi + esi*2]
jmp 0x4241b8
add edi, 0x18
add esi, 0xffffffe8
je 0x4241cf
cmp dword [edi], 0
je 0x4241b0
push dword [edi - 4]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
jmp 0x4241b0
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4241ef
shl eax, 3
lea eax, [eax + eax*2]
test eax, eax
je 0x4241ef
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 0x4242db
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 0x424263
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
push 0x6d3ea0
call fcn.0045ab50
add esp, 4
ud2
mov ecx, dword [esp + 0x58]
mov edx, 8
call fcn.0040a640
ud2