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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x360
mov dword [esp + 0xc], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x11c], ecx
lea ecx, [esp + 0x1d8]
push dword [ebp + 0xc]
call fcn.004fa310
add esp, 4
mov ecx, dword [esp + 0x200]
cmp ecx, 4
mov dword [esp + 0x198], ecx
jbe 0x4feb62
mov ecx, dword [esp + 0x1dc]
mov eax, dword [esp + 0x1e0]
jmp 0x4feb69
lea eax, [esp + 0x1e0]
mov dword [esp], eax
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x28]
cmp edx, 5
jb 0x4febfb
mov edx, dword [eax + 4]
cmp ecx, edx
mov eax, edx
mov dword [esp + 8], edx
jb 0x4fec09
ja 0x4fed40
mov eax, dword [esp + 0xc]
shl ecx, 3
mov eax, dword [eax + 8]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 8]
lea ebx, [eax*8]
nop
test ecx, ecx
je 0x4fed40
test ebx, ebx
je 0x4fed40
mov eax, dword [esp]
mov esi, dword [esp + 0xac]
mov edi, dword [eax + ecx - 4]
mov edx, dword [eax + ecx - 8]
mov eax, dword [esi + ebx - 8]
mov esi, dword [esi + ebx - 4]
cmp edx, eax
mov dword [esp + 4], edi
sbb edi, esi
jb 0x4ff266
add ecx, 0xfffffff8
add ebx, 0xfffffff8
cmp eax, edx
sbb esi, dword [esp + 4]
jae 0x4febb0
jmp 0x4fed40
cmp ecx, edx
mov eax, edx
mov dword [esp + 8], edx
jae 0x4fed3a
mov edx, dword [esp + 0xc]
lea esi, [esp + 0x1d8]
mov dword [esp + 0x2f8], 2
mov dword [esp + 0x2cc], esi
mov dword [esp + 0x2c8], 2
mov eax, dword [edx + 0x90]
cmp eax, 2
mov dword [esp + 0x194], eax
jne 0x4fec5e
lea eax, [edx + 0x60]
lea ecx, [esp + 0xe8]
push edx
push eax
push esi
push ecx
call fcn.0045a5b0
add esp, 0x10
jmp 0x4fff20
mov eax, dword [edx + 0x140]
test eax, eax
mov dword [esp + 4], eax
je 0x4ff276
cmp eax, 1
je 0x4ff27d
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x138]
lea eax, [ecx + 0x90]
lea ecx, [esp + 0x10]
mov dword [esp + 8], edx
push edx
push eax
push esi
push ecx
call fcn.0045a5b0
add esp, 0x10
lea edi, [esp + 0x10]
lea ecx, [esp + 0x48]
mov edx, edi
call fcn.004fb320
cmp dword [esp + 0x48], 2
je 0x5008e7
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
mov eax, dword [esp + 8]
movq xmm0, qword [esp + 0x78]
cmp dword [esp + 0x2c8], 2
movsd qword [esp + 0x148], xmm2
movsd qword [esp + 0x140], xmm1
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x58]
lea eax, [eax + 0x30]
movq qword [esp + 0x150], xmm0
movsd qword [esp + 0x138], xmm2
movsd qword [esp + 0x130], xmm1
movq xmm2, qword [esp + 0x48]
movq xmm1, qword [esp + 0x50]
movq qword [esp + 0x128], xmm1
movq qword [esp + 0x120], xmm2
jne 0x4fed4a
mov ecx, dword [esp + 0x2cc]
jmp 0x4fed51
jbe 0x4ff1ed
mov esi, 1
jmp 0x50011a
lea ecx, [esp + 0x2c8]
mov edx, dword [esp + 0xc]
add edx, 0xc0
push eax
push edx
push ecx
push edi
call fcn.0045a5b0
add esp, 0x10
lea ecx, [esp + 0x48]
lea edx, [esp + 0x10]
call fcn.004fb320
cmp dword [esp + 0x48], 2
je 0x500900
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
movq xmm0, qword [esp + 0x78]
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xd0], xmm1
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x58]
movq qword [esp + 0xe0], xmm0
movsd qword [esp + 0xc8], xmm2
movsd qword [esp + 0xc0], xmm1
movq xmm2, qword [esp + 0x48]
movq xmm1, qword [esp + 0x50]
movq qword [esp + 0xb8], xmm1
movq qword [esp + 0xb0], xmm2
lea ecx, [esp + 0x120]
lea edx, [esp + 0xb0]
call fcn.004f92f0
mov ecx, dword [esp + 4]
xor ebx, ebx
mov eax, ecx
shl eax, 4
lea eax, [eax + eax*2]
cmp eax, 0x6db6db90
setb al
jae 0x500919
mov bl, al
imul ecx, ecx, 0x38
shl ebx, 3
test ecx, ecx
mov dword [esp + 0x118], ecx
js 0x500919
je 0x4ff247
mov eax, dword [0x607474]
mov esi, dword [0x607460]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x4fee57
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4ff251
mov dword [esi], eax
push dword [esp + 0x118]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test edi, edi
je 0x4ff251
mov eax, dword [esp + 4]
xor esi, esi
mov dword [esp + 0x158], edi
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], 0
jmp 0x4fef12
mov esi, dword [esp]
imul edx, esi, 0x38
inc esi
mov dword [edi + edx], eax
cmp esi, dword [esp + 4]
movsd xmm0, qword [esp + 0x10]
movq xmm1, qword [esp + 0x18]
movsd qword [edi + edx + 4], xmm0
movq qword [edi + edx + 0xc], xmm1
movsd xmm0, qword [esp + 0x20]
movsd qword [edi + edx + 0x14], xmm0
movsd xmm0, qword [esp + 0x28]
movsd qword [edi + edx + 0x1c], xmm0
movq xmm0, qword [esp + 0x30]
movq qword [edi + edx + 0x24], xmm0
mov eax, dword [esp + 0x38]
mov dword [edi + edx + 0x2c], eax
mov byte [edi + edx + 0x30], cl
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ab]
mov dword [edi + edx + 0x31], eax
mov dword [edi + edx + 0x34], ecx
je 0x4ff193
mov ecx, dword [esp + 8]
lea eax, [esi + esi*2]
mov dword [esp], esi
shl eax, 4
lea edx, [ecx + eax]
mov eax, dword [ecx + eax + 0x28]
cmp eax, 5
jb 0x4fef40
mov eax, dword [edx + 4]
test eax, eax
je 0x4fefd0
mov edx, dword [edx + 8]
jmp 0x4fef4b
test eax, eax
je 0x4fefd0
add edx, 8
lea ecx, [esp + 0x48]
push eax
call fcn.004f9a80
add esp, 4
lea ecx, [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xeb]
movsd xmm1, qword [ecx + 8]
movsd xmm0, qword [ecx]
movq xmm2, qword [ecx + 0x18]
movsd qword [esp + 0x18], xmm1
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x10], xmm0
movq qword [esp + 0x28], xmm2
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [ecx + 0x20]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xe8]
movsd qword [esp + 0x30], xmm1
mov dword [esp + 0x1a8], ecx
mov cl, 2
mov dword [esp + 0x1ab], edx
cmp eax, 2
jne 0x4feea0
jmp 0x4ff17a
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 2
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x10]
call fcn.004f9ce0
movsd xmm3, qword [esp + 0x110]
movsd xmm2, qword [esp + 0x108]
movq xmm0, qword [esp + 0xe8]
movq xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x38], xmm3
movsd qword [esp + 0x30], xmm2
movq xmm3, qword [esp + 0x100]
movq xmm2, qword [esp + 0xf8]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0x10], xmm0
movq qword [esp + 0x28], xmm3
movq qword [esp + 0x20], xmm2
mov eax, dword [esp + 0x18]
nop word cs:[eax + eax]
mov esi, dword [esp + 0x38]
lea edx, [esp + 0x18]
cmp esi, 5
mov ecx, esi
jb 0x4ff075
mov ecx, dword [esp + 0x14]
mov edx, eax
test ecx, ecx
je 0x4ff0a0
mov ebx, dword [edx + ecx*8 - 8]
or ebx, dword [edx + ecx*8 - 4]
jne 0x4ff0a0
cmp esi, 5
lea ecx, [esp + 0x38]
jb 0x4ff094
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x14]
test esi, esi
je 0x4ff060
dec esi
mov dword [ecx], esi
jmp 0x4ff060
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x28]
movq xmm0, qword [esp + 0x38]
movsd qword [esp + 0x1c8], xmm1
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0x1c0], xmm2
movq xmm2, qword [esp + 0x10]
movq qword [esp + 0x1d0], xmm0
movsd qword [esp + 0x1b8], xmm1
movq xmm1, qword [esp + 0x18]
movq qword [esp + 0x1a8], xmm2
movq qword [esp + 0x1b0], xmm1
mov edx, 1
lea eax, [esp + 0x1a8]
lea ecx, [esp + 0x48]
push eax
call fcn.004f9fb0
add esp, 4
lea esi, [esp + 0x4c]
mov eax, dword [esp + 0x48]
movsd xmm1, qword [esi + 8]
mov ecx, dword [esi + 0x28]
movsd xmm0, qword [esi]
movq xmm2, qword [esi + 0x18]
mov edx, dword [esi + 0x2d]
movsd qword [esp + 0x18], xmm1
movsd xmm1, qword [esi + 0x10]
mov dword [esp + 0x38], ecx
movzx ecx, byte [esp + 0x78]
movsd qword [esp + 0x10], xmm0
movq qword [esp + 0x28], xmm2
mov dword [esp + 0x1a8], edx
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esi + 0x20]
mov esi, dword [esi + 0x30]
movsd qword [esp + 0x30], xmm1
mov dword [esp + 0x1ab], esi
cmp eax, 2
jne 0x4feea0
push 0x5fba94
push 0x2b
push 0x5fba08
call fcn.004251d0
add esp, 0xc
jmp 0x5009bd
movq xmm0, qword [esp + 0x158]
mov eax, dword [esp + 4]
movq qword [esp + 0x188], xmm0
test eax, eax
mov dword [esp + 0x190], eax
mov eax, dword [esp + 0x188]
mov dword [esp + 8], eax
je 0x4ff296
lea esi, [esp + 0x120]
nop word [eax + eax]
movzx eax, byte [esp + 0x150]
test al, al
jne 0x4ff2a6
mov edx, dword [esp + 8]
mov ecx, esi
call fcn.004f88b0
jmp 0x4ff1d0
mov eax, dword [esp + 8]
shl ecx, 3
lea esi, [eax*8]
nop dword [eax + eax]
test ecx, ecx
je 0x4fed40
test esi, esi
je 0x4fed40
mov eax, dword [esp]
mov edi, dword [esp + 0xc]
mov edx, dword [eax + ecx - 8]
mov eax, dword [eax + ecx - 4]
mov ebx, dword [edi + esi + 4]
mov dword [esp + 4], eax
mov eax, dword [edi + esi]
mov edi, dword [esp + 4]
cmp edx, eax
sbb edi, ebx
jb 0x4ff266
add ecx, 0xfffffff8
add esi, 0xfffffff8
cmp eax, edx
sbb ebx, dword [esp + 4]
jae 0x4ff200
jmp 0x4fed40
mov edi, ebx
test edi, edi
jne 0x4fee70
push dword [esp + 0x118]
push ebx
call fcn.0041a8c0
add esp, 8
jmp 0x5009bd
cmp dword [esp + 8], 0
jne 0x4fec09
jmp 0x4fed40
mov eax, 0x5fc1f4
jmp 0x4ff282
mov eax, 0x5fc204
push eax
mov eax, dword [esp + 8]
push eax
push eax
call fcn.00425270
add esp, 0xc
jmp 0x5009bd
movzx eax, byte [esp + 0x150]
test al, al
je 0x5009bf
cmp al, 1
mov edi, 1
je 0x4ff2b9
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x120]
mov eax, dword [esp + 0x148]
cmp eax, 4
jbe 0x4ff2ea
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x118]
cmp edx, 5
jae 0x4ff300
add esi, 0xf8
jmp 0x4ff30c
lea ecx, [esp + 0x128]
mov esi, dword [esp + 0xc]
mov edx, dword [esi + 0x118]
cmp edx, 5
jb 0x4ff2e2
mov edx, dword [esi + 0xf4]
mov esi, dword [esi + 0xf8]
mov bl, 1
mov dword [esp], ebx
push edx
push esi
push eax
push ecx
lea eax, [esp + 0x20]
push eax
call fcn.004688f0
add esp, 0x14
mov esi, dword [esp + 8]
mov eax, edi
lea ecx, [esp + 0x48]
movzx edx, al
lea eax, [esp + 0x10]
push eax
call fcn.004f9fb0
add esp, 4
cmp dword [esp + 0x148], 5
jb 0x4ff35b
mov eax, dword [0x607460]
push dword [esp + 0x128]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
cmp dword [esp + 4], 0
movq xmm0, qword [esp + 0x78]
movsd qword [esp + 0x148], xmm2
movsd qword [esp + 0x140], xmm1
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x58]
movq qword [esp + 0x150], xmm0
movsd qword [esp + 0x138], xmm2
movsd qword [esp + 0x130], xmm1
movq xmm2, qword [esp + 0x48]
movq xmm1, qword [esp + 0x50]
movq qword [esp + 0x128], xmm1
movq qword [esp + 0x120], xmm2
je 0x5008a6
lea ecx, [esp + 0x120]
mov edx, esi
call fcn.004f9040
cmp dword [esp + 4], 2
jb 0x5008af
movzx eax, byte [esp + 0x150]
mov dl, 1
cmp al, 1
je 0x4ff409
movzx ecx, byte [esi + 0x68]
test ecx, ecx
je 0x4ff432
cmp ecx, 1
je 0x4ff409
mov dl, 2
test al, al
je 0x4ff43a
mov eax, dword [esp + 0x148]
mov edi, edx
cmp eax, 4
jbe 0x4ff44a
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov edx, dword [esi + 0x60]
cmp edx, 5
jae 0x4ff459
add esi, 0x40
jmp 0x4ff45f
test al, al
je 0x5005cf
xor edx, edx
mov eax, dword [esp + 0x148]
mov edi, edx
cmp eax, 4
ja 0x4ff417
lea ecx, [esp + 0x128]
mov edx, dword [esi + 0x60]
cmp edx, 5
jb 0x4ff42d
mov edx, dword [esi + 0x3c]
mov esi, dword [esi + 0x40]
mov bl, 1
mov dword [esp], ebx
push edx
push esi
push eax
push ecx
lea eax, [esp + 0x20]
push eax
call fcn.004688f0
add esp, 0x14
mov eax, edi
lea ecx, [esp + 0x48]
movzx edx, al
lea eax, [esp + 0x10]
push eax
call fcn.004f9fb0
add esp, 4
cmp dword [esp + 0x148], 5
jb 0x4ff4aa
mov eax, dword [0x607460]
push dword [esp + 0x128]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
movq xmm0, qword [esp + 0x78]
movsd qword [esp + 0x148], xmm2
movsd qword [esp + 0x140], xmm1
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x58]
movq qword [esp + 0x150], xmm0
movsd qword [esp + 0x138], xmm2
movsd qword [esp + 0x130], xmm1
movq xmm2, qword [esp + 0x48]
movq xmm1, qword [esp + 0x50]
movq qword [esp + 0x128], xmm1
movq qword [esp + 0x120], xmm2
lea ecx, [esp + 0x120]
lea edx, [esp + 0xb0]
call fcn.004f88b0
mov eax, dword [esp + 0x2c8]
mov edx, dword [esp + 0x2cc]
cmp eax, 2
jne 0x4ff549
mov eax, dword [edx + 0x28]
cmp eax, 4
jbe 0x4ff59e
mov eax, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x4ff5a1
movsd xmm1, qword [esp + 0x2d8]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
movq xmm0, qword [esp + 0x2d0]
movq xmm2, qword [esp + 0x2e8]
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x2e0]
movq qword [esp + 0x18], xmm0
movq qword [esp + 0x30], xmm2
movsd qword [esp + 0x28], xmm1
movq xmm1, qword [esp + 0x2f0]
movq qword [esp + 0x38], xmm1
jmp 0x4ff5fd
add edx, 8
mov dword [esp], 0
lea ecx, [esp + 0x48]
push eax
call fcn.004f9a80
add esp, 4
movsd xmm1, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x60]
movq xmm0, qword [esp + 0x70]
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [esp + 0x28], xmm2
movq xmm2, qword [esp + 0x48]
movq qword [esp + 0x38], xmm0
movsd qword [esp + 0x20], xmm1
movq xmm1, qword [esp + 0x50]
movq qword [esp + 0x10], xmm2
movq qword [esp + 0x18], xmm1
mov dword [esp], 0
lea ecx, [esp + 0x48]
lea edx, [esp + 0x10]
call fcn.004fb320
cmp dword [esp + 0x48], 2
je 0x500923
mov eax, dword [esp + 0xc]
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
movq xmm0, qword [esp + 0x78]
mov dword [esp + 0xac], 0
mov ebx, dword [eax + 0x128]
imul eax, dword [eax + 0x130], 0xa8
movsd qword [esp + 0x38], xmm2
movsd qword [esp + 0x30], xmm1
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x58]
movq qword [esp + 0x40], xmm0
add eax, ebx
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x20], xmm1
movq xmm2, qword [esp + 0x48]
movq xmm1, qword [esp + 0x50]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 4]
movq qword [esp + 0x18], xmm1
movq qword [esp + 0x10], xmm2
add eax, 0xfffffffe
mov dword [esp + 0x19c], eax
jmp 0x4ff733
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
movq xmm0, qword [esp + 0x78]
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xd0], xmm1
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x58]
movq qword [esp + 0xe0], xmm0
movsd qword [esp + 0xc8], xmm2
movsd qword [esp + 0xc0], xmm1
movq xmm2, qword [esp + 0x48]
movq xmm1, qword [esp + 0x50]
movq qword [esp + 0xb8], xmm1
movq qword [esp + 0xb0], xmm2
lea ecx, [esp + 0x120]
lea edx, [esp + 0xb0]
call fcn.004f88b0
mov ebx, dword [esp + 0x1a4]
cmp ebx, dword [esp + 0x1a0]
je 0x4ffa7c
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 8]
cmp eax, dword [esp + 0x19c]
je 0x50088c
imul eax, eax, 0x38
lea esi, [eax + ecx + 0x70]
push esi
push ebx
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x54]
push eax
call fcn.00458440
add esp, 0x10
cmp dword [esp + 0xd8], 5
jb 0x4ff792
push dword [esp + 0xb8]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
movsd xmm0, qword [esp + 0x78]
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xd0], xmm1
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x58]
movsd qword [esp + 0xe0], xmm0
movsd qword [esp + 0xc8], xmm2
movsd qword [esp + 0xc0], xmm1
movsd xmm2, qword [esp + 0x48]
movsd xmm1, qword [esp + 0x50]
movsd qword [esp + 0xb8], xmm1
movsd qword [esp + 0xb0], xmm2
lea ecx, [esp + 0xb0]
lea edx, [esp + 0x120]
call fcn.004f92f0
movzx eax, byte [esp + 0xe0]
mov cl, 1
mov dword [esp], ecx
cmp al, 1
je 0x4ff840
movzx ecx, byte [ebx + 0x68]
test ecx, ecx
je 0x4ffa34
cmp ecx, 1
je 0x4ff840
mov cl, 2
test al, al
mov dword [esp], ecx
je 0x4ffa38
nop dword [eax]
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xb8]
cmp eax, 5
jb 0x4ff861
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov edx, dword [ebx + 0x60]
cmp edx, 5
jb 0x4ff880
mov edx, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x40]
jmp 0x4ff883
lea edi, [ebx + 0x40]
push edx
push edi
push eax
push ecx
lea edi, [esp + 0xf8]
push edi
call fcn.004688f0
add esp, 0x14
movzx edx, byte [esp]
lea ecx, [esp + 0x48]
push edi
call fcn.004f9fb0
add esp, 4
cmp dword [esp + 0xd8], 5
jb 0x4ff8c7
push dword [esp + 0xb8]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm2, qword [esp + 0x70]
movsd xmm1, qword [esp + 0x68]
movq xmm0, qword [esp + 0x78]
movsd qword [esp + 0xd8], xmm2
movsd qword [esp + 0xd0], xmm1
movsd xmm2, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x58]
movq qword [esp + 0xe0], xmm0
movsd qword [esp + 0xc8], xmm2
movsd qword [esp + 0xc0], xmm1
movq xmm2, qword [esp + 0x48]
movq xmm1, qword [esp + 0x50]
movq qword [esp + 0xb8], xmm1
movq qword [esp + 0xb0], xmm2
lea ecx, [esp + 0xb0]
mov edx, esi
call fcn.004f9040
inc dword [esp + 0xac]
lea eax, [ebx + 0xa8]
mov dword [esp + 0x1a4], eax
nop word cs:[eax + eax]
nop dword [eax]
movzx eax, byte [esp + 0xe0]
test al, al
jne 0x4ff980
lea ecx, [esp + 0xb0]
mov edx, esi
call fcn.004f88b0
jmp 0x4ff960
cmp al, 1
mov byte [esp], 1
jne 0x4ff9c0
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xb8]
cmp eax, 5
jb 0x4ff9dd
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov edx, dword [ebx + 0x98]
cmp edx, 5
jae 0x4ff9e8
add ebx, 0x78
jmp 0x4ff9ee
movzx eax, byte [ebx + 0xa0]
mov byte [esp], al
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xb8]
cmp eax, 5
jae 0x4ff99b
mov edx, dword [ebx + 0x98]
cmp edx, 5
jb 0x4ff9b4
mov edx, dword [ebx + 0x74]
mov ebx, dword [ebx + 0x78]
push edx
push ebx
push eax
push ecx
push edi
call fcn.004688f0
add esp, 0x14
movzx edx, byte [esp]
lea ecx, [esp + 0x48]
push edi
call fcn.004f9fb0
add esp, 4
cmp dword [esp + 0xd8], 5
jb 0x4ff6b0
push dword [esp + 0xb8]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x4ff6b0
test al, al
je 0x4ffa5b
mov dword [esp], 0
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xb8]
cmp eax, 5
jb 0x4ff861
jmp 0x4ff853
mov al, 2
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xb8]
cmp eax, 5
jae 0x4ff853
jmp 0x4ff861
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x118]
lea ebx, [esp + 0xb8]
add edi, esi
mov eax, esi
jmp 0x4ffaa4
cmp eax, edi
je 0x4ffaf5
mov byte [eax + 0x30], 1
mov ecx, dword [eax + 0x28]
cmp ecx, 4
jbe 0x4ffad0
mov ecx, dword [eax + 4]
test ecx, ecx
js 0x5008ce
mov edx, dword [eax + 8]
add eax, 0x38
test ecx, ecx
jne 0x4ffae0
jmp 0x4ffaa0
lea edx, [eax + 8]
add eax, 0x38
test ecx, ecx
je 0x4ffaa0
nop word [eax + eax]
mov dword [edx + 4], 0
mov dword [edx], 0
add edx, 8
dec ecx
jne 0x4ffae0
jmp 0x4ffaa0
mov dword [esp + 0x190], 0
jmp 0x4ffb19
add esi, 0x38
dec dword [esp + 4]
je 0x4ffb32
cmp dword [esi + 0x28], 5
jb 0x4ffb10
push dword [esi + 8]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x4ffb10
mov byte [esp + 0x40], 1
mov eax, dword [esp + 0x38]
cmp eax, 4
jbe 0x4ffb5a
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 8]
test eax, eax
js 0x500940
mov ecx, dword [esp + 0x18]
test eax, eax
jne 0x4ffb70
jmp 0x4ffb83
mov esi, dword [esp + 8]
lea ecx, [esp + 0x18]
test eax, eax
je 0x4ffb83
nop word cs:[eax + eax]
mov dword [ecx + 4], 0
mov dword [ecx], 0
add ecx, 8
dec eax
jne 0x4ffb70
mov byte [esp + 0xe0], 1
mov eax, dword [esp + 0xd8]
cmp eax, 5
jb 0x4ffbad
mov eax, dword [esp + 0xb4]
test eax, eax
js 0x500940
mov ebx, dword [esp + 0xb8]
test eax, eax
je 0x4ffbd3
nop word cs:[eax + eax]
nop dword [eax + eax]
mov dword [ebx + 4], 0
mov dword [ebx], 0
add ebx, 8
dec eax
jne 0x4ffbc0
movsd xmm2, qword [esp + 0x148]
movsd xmm1, qword [esp + 0x140]
movq xmm0, qword [esp + 0x150]
movsd qword [esp + 0x70], xmm2
movsd qword [esp + 0x68], xmm1
movsd xmm2, qword [esp + 0x138]
movsd xmm1, qword [esp + 0x130]
movq qword [esp + 0x78], xmm0
movsd qword [esp + 0x60], xmm2
movsd qword [esp + 0x58], xmm1
movq xmm2, qword [esp + 0x120]
movq xmm1, qword [esp + 0x128]
movq qword [esp + 0x50], xmm1
movq qword [esp + 0x48], xmm2
movzx eax, byte [esp + 0x78]
test eax, eax
je 0x4ffd62
cmp eax, 1
jne 0x4ffd77
mov dword [esp + 0xe8], 4
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 2
lea ecx, [esp + 0x1a8]
lea edx, [esp + 0xe8]
call fcn.004f9ce0
movsd xmm1, qword [esp + 0x1b0]
movsd xmm2, qword [esp + 0x1d0]
movsd xmm0, qword [esp + 0x1a8]
lea eax, [esp + 0xf0]
movsd qword [esp + 0xf0], xmm1
movsd xmm1, qword [esp + 0x1c8]
movsd qword [esp + 0x110], xmm2
movsd xmm2, qword [esp + 0x1c0]
movsd qword [esp + 0xe8], xmm0
mov ecx, dword [esp + 0xe8]
movsd qword [esp + 0x108], xmm1
movsd xmm1, qword [esp + 0x1b8]
movsd qword [esp + 0x100], xmm2
mov dword [esp], ecx
movsd qword [esp + 0xf8], xmm1
mov ebx, dword [esp + 0xf0]
nop word [eax + eax]
mov ecx, dword [esp + 0x110]
mov edx, eax
cmp ecx, 5
mov esi, ecx
jb 0x4ffd29
mov esi, dword [esp + 0xec]
mov edx, ebx
test esi, esi
je 0x4ffdd3
mov edi, dword [edx + esi*8 - 8]
or edi, dword [edx + esi*8 - 4]
jne 0x4ffdd3
cmp ecx, 5
lea edx, [esp + 0x110]
jb 0x4ffd59
mov ecx, dword [esp + 0xec]
lea edx, [esp + 0xec]
test ecx, ecx
je 0x4ffd10
dec ecx
mov dword [edx], ecx
jmp 0x4ffd10
mov edi, 2
cmp dword [esp + 0x70], 5
jae 0x4ffe37
jmp 0x4ffe49
movsd xmm2, qword [esp + 0x54]
movsd xmm1, qword [esp + 0x5c]
movq xmm0, qword [esp + 0x4c]
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x48]
movsd qword [esp + 0x160], xmm2
movsd qword [esp + 0x168], xmm1
movq xmm2, qword [esp + 0x64]
movq xmm1, qword [esp + 0x6c]
movq qword [esp + 0x158], xmm0
mov dword [esp + 0x180], eax
movq qword [esp + 0x170], xmm2
movq qword [esp + 0x178], xmm1
jmp 0x4ffe49
lea ecx, [esp + 0xec]
mov esi, dword [esp + 8]
mov edi, dword [esp]
movsd xmm2, qword [ecx + 0x18]
movsd xmm1, qword [ecx + 0x10]
mov eax, dword [ecx + 0x28]
movq xmm0, qword [ecx + 0x20]
movsd qword [esp + 0x170], xmm2
movsd qword [esp + 0x168], xmm1
movq xmm2, qword [ecx]
movq xmm1, qword [ecx + 8]
mov dword [esp + 0x180], eax
movq qword [esp + 0x178], xmm0
movq qword [esp + 0x160], xmm1
movq qword [esp + 0x158], xmm2
cmp dword [esp + 0x70], 5
jb 0x4ffe49
push dword [esp + 0x50]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp edi, 2
je 0x500958
movsd xmm1, qword [esp + 0x160]
mov dword [esp + 0xe8], edi
movq xmm0, qword [esp + 0x158]
movq xmm2, qword [esp + 0x170]
mov eax, dword [esp + 0x180]
cmp dword [esp + 0x38], 5
movsd qword [esp + 0xf4], xmm1
movsd xmm1, qword [esp + 0x168]
movq qword [esp + 0xec], xmm0
movq qword [esp + 0x104], xmm2
mov dword [esp + 0x114], eax
movsd qword [esp + 0xfc], xmm1
movq xmm1, qword [esp + 0x178]
movq qword [esp + 0x10c], xmm1
jb 0x4ffeda
push dword [esp + 0x18]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x18c], 0
je 0x4ffef3
push esi
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xd8], 5
jb 0x4fff12
push dword [esp + 0xb8]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2f8], 2
jne 0x5003ad
movsd xmm1, qword [esp + 0x108]
movsd xmm2, qword [esp + 0x100]
movsd xmm0, qword [esp + 0x110]
movsd qword [esp + 0x258], xmm1
movsd xmm1, qword [esp + 0xf8]
movsd qword [esp + 0x250], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x260], xmm0
movsd qword [esp + 0x248], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x238], xmm2
movsd qword [esp + 0x240], xmm1
cmp dword [esp + 0x194], 2
jne 0x4fffbf
cmp dword [esp + 0x2c8], 2
je 0x4fffbf
cmp dword [esp + 0x2f0], 5
jb 0x4fffbf
mov eax, dword [0x607460]
push dword [esp + 0x2d0]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2f8], 2
je 0x4fffe8
cmp dword [esp + 0x320], 5
jb 0x4fffe8
mov eax, dword [0x607460]
push dword [esp + 0x300]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm1, qword [esp + 0x240]
movsd xmm2, qword [esp + 0x248]
movq xmm0, qword [esp + 0x238]
movsd qword [esp + 0x2a0], xmm1
movsd xmm1, qword [esp + 0x250]
movsd qword [esp + 0x2a8], xmm2
movq xmm2, qword [esp + 0x258]
movq qword [esp + 0x298], xmm0
movsd qword [esp + 0x2b0], xmm1
movq xmm1, qword [esp + 0x260]
movq qword [esp + 0x2b8], xmm2
movq qword [esp + 0x2c0], xmm1
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x298]
lea edx, [esp + 0x48]
push ecx
add ecx, 0x30
push ecx
push eax
push edx
call fcn.0045a5b0
add esp, 0x10
mov ebx, dword [esp + 0x198]
cmp ebx, 4
jbe 0x5000a1
mov ebx, dword [esp + 0x1dc]
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x70]
cmp ecx, 4
ja 0x5000b1
lea edx, [esp + 0x50]
mov edi, ecx
cmp ebx, edi
je 0x5000bd
jmp 0x5000df
lea eax, [esp + 0x1e0]
mov ecx, dword [esp + 0x70]
cmp ecx, 4
jbe 0x500095
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
cmp ebx, edi
jne 0x5000df
shl ebx, 3
test ebx, ebx
je 0x5001d4
mov edi, dword [eax + ebx - 8]
mov esi, dword [eax + ebx - 4]
xor esi, dword [edx + ebx - 4]
xor edi, dword [edx + ebx - 8]
add ebx, 0xfffffff8
or edi, esi
je 0x5000c0
cmp ecx, 5
jb 0x5000f6
mov eax, dword [0x607460]
push dword [esp + 0x50]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2c0], 5
mov esi, 0x10
jb 0x50011a
mov eax, dword [0x607460]
push dword [esp + 0x2a0]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movq xmm0, qword [esp + 0x208]
movq xmm1, qword [esp + 0x210]
mov eax, dword [esp + 0x11c]
movq xmm2, qword [esp + 0x218]
movq xmm3, qword [esp + 0x220]
movsd xmm4, qword [esp + 0x228]
movsd xmm5, qword [esp + 0x230]
movq qword [esp + 0x328], xmm0
movq qword [esp + 0x330], xmm1
movq qword [esp + 0x338], xmm2
movq qword [esp + 0x340], xmm3
movsd qword [esp + 0x348], xmm4
movsd qword [esp + 0x350], xmm5
movsd qword [eax + 0x2c], xmm5
movsd qword [eax + 0x24], xmm4
movq qword [eax + 0x1c], xmm3
movq qword [eax + 0x14], xmm2
movq qword [eax + 0xc], xmm1
movq qword [eax + 4], xmm0
mov dword [eax], esi
cmp dword [esp + 0x200], 5
jb 0x5001cc
mov eax, dword [0x607460]
push dword [esp + 0x1e0]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movsd xmm1, qword [esp + 0x2b8]
movsd xmm2, qword [esp + 0x2b0]
movsd xmm0, qword [esp + 0x2c0]
cmp ecx, 5
movsd qword [esp + 0x228], xmm1
movsd xmm1, qword [esp + 0x2a8]
movsd qword [esp + 0x220], xmm2
movsd xmm2, qword [esp + 0x298]
movsd qword [esp + 0x230], xmm0
movsd qword [esp + 0x218], xmm1
movsd xmm1, qword [esp + 0x2a0]
movsd qword [esp + 0x208], xmm2
movsd qword [esp + 0x210], xmm1
jb 0x500257
mov eax, dword [0x607460]
push dword [esp + 0x50]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movq xmm0, qword [esp + 0x218]
movq xmm1, qword [esp + 0x220]
movq xmm2, qword [esp + 0x230]
movq xmm3, qword [esp + 0x228]
movsd xmm4, qword [esp + 0x208]
movsd xmm5, qword [esp + 0x210]
mov esi, dword [ebp + 0x10]
movsd qword [esp + 0x268], xmm4
movsd qword [esp + 0x270], xmm5
movq qword [esp + 0x278], xmm0
movq qword [esp + 0x280], xmm1
movq qword [esp + 0x288], xmm3
movq qword [esp + 0x290], xmm2
movq qword [esp + 0x338], xmm0
movq qword [esp + 0x340], xmm1
mov eax, dword [esp + 0x290]
cmp eax, 5
jb 0x5002eb
mov eax, dword [esp + 0x26c]
test eax, eax
je 0x50057c
lea eax, [esp + 0x268]
push 8
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0045a2d0
add esp, 0xc
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x48]
cmp ebx, 2
jb 0x5006b8
mov eax, ebx
xor ecx, ecx
mov dword [esp], ebx
shr eax, 1
cmp ebx, 0x10
jb 0x500690
xor ecx, ecx
cmp ebx, 0x20
jae 0x5005e8
mov edx, ecx
mov ecx, eax
pxor xmm0, xmm0
sub ebx, edx
and ecx, 0xfffffff8
lea esi, [ebx + edi - 8]
nop dword [eax]
movq xmm2, qword [esi]
movq xmm1, qword [edi + edx]
punpcklbw xmm2, xmm0
punpcklbw xmm1, xmm0
pshufd xmm2, xmm2, 0x4e
pshufd xmm1, xmm1, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
packuswb xmm2, xmm2
packuswb xmm1, xmm1
movq qword [edi + edx], xmm2
add edx, 8
movq qword [esi], xmm1
add esi, 0xfffffff8
cmp ecx, edx
jne 0x500350
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp]
cmp eax, ecx
jne 0x500690
jmp 0x5006b8
mov eax, dword [esp + 0x110]
cmp eax, 4
jbe 0x5003dc
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x320]
cmp edx, 4
ja 0x5003ef
lea esi, [esp + 0x300]
jmp 0x5003fd
lea ecx, [esp + 0xf0]
mov edx, dword [esp + 0x320]
cmp edx, 4
jbe 0x5003d3
mov edx, dword [esp + 0x2fc]
mov esi, dword [esp + 0x300]
push edx
push esi
push eax
push ecx
lea esi, [esp + 0xc0]
push esi
call fcn.004688f0
add esp, 0x14
push dword [esp + 0xc]
push esi
lea eax, [esp + 0x50]
push eax
call fcn.0045d120
add esp, 0xc
movsd xmm1, qword [esp + 0x98]
movsd xmm2, qword [esp + 0x90]
movsd xmm0, qword [esp + 0xa0]
cmp dword [esp + 0x70], 5
movsd qword [esp + 0x30], xmm1
movsd xmm1, qword [esp + 0x88]
movsd qword [esp + 0x28], xmm2
movsd xmm2, qword [esp + 0x80]
movsd qword [esp + 0x38], xmm0
movsd qword [esp + 0x20], xmm1
movsd xmm1, qword [esp + 0x78]
movsd qword [esp + 0x18], xmm2
movsd qword [esp + 0x10], xmm1
jb 0x500493
push dword [esp + 0x50]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm1, qword [esp + 0x18]
movsd xmm2, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x10]
cmp dword [esp + 0xd8], 5
movsd qword [esp + 0x50], xmm1
movsd xmm1, qword [esp + 0x28]
movsd qword [esp + 0x58], xmm2
movsd xmm2, qword [esp + 0x30]
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x60], xmm1
movsd xmm1, qword [esp + 0x38]
movsd qword [esp + 0x68], xmm2
movsd qword [esp + 0x70], xmm1
jb 0x5004fa
push dword [esp + 0xb8]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
movsd xmm1, qword [esp + 0x50]
movsd xmm2, qword [esp + 0x58]
movsd xmm0, qword [esp + 0x48]
cmp dword [esp + 0x110], 5
movsd qword [esp + 0x240], xmm1
movsd xmm1, qword [esp + 0x60]
movsd qword [esp + 0x248], xmm2
movsd xmm2, qword [esp + 0x68]
movsd qword [esp + 0x238], xmm0
movsd qword [esp + 0x250], xmm1
movsd xmm1, qword [esp + 0x70]
movsd qword [esp + 0x258], xmm2
movsd qword [esp + 0x260], xmm1
jb 0x4fff8c
push dword [esp + 0xf0]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x4fff8c
mov eax, dword [0x607474]
mov esi, dword [0x607460]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x50059f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5009b1
mov dword [esi], eax
push 1
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x5009b1
mov edi, eax
mov ebx, 1
mov byte [eax], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 1
mov esi, dword [ebp + 0x10]
jmp 0x5006b8
mov dl, 2
mov eax, dword [esp + 0x148]
mov edi, edx
cmp eax, 4
ja 0x4ff417
jmp 0x4ff44a
mov ecx, eax
lea edx, [ebx + edi - 0x10]
xor esi, esi
pxor xmm0, xmm0
and ecx, 0xfffffff0
nop word [eax + eax]
movdqu xmm2, xmmword [edx]
movdqu xmm1, xmmword [edi + esi]
movdqa xmm3, xmm2
punpckhbw xmm2, xmm0
punpcklbw xmm3, xmm0
pshufd xmm2, xmm2, 0x4e
pshufd xmm3, xmm3, 0x4e
pshuflw xmm2, xmm2, 0x1b
pshuflw xmm3, xmm3, 0x1b
pshufhw xmm2, xmm2, 0x1b
pshufhw xmm3, xmm3, 0x1b
packuswb xmm2, xmm3
movdqu xmmword [edi + esi], xmm2
movdqa xmm2, xmm1
punpckhbw xmm1, xmm0
add esi, 0x10
punpcklbw xmm2, xmm0
pshufd xmm1, xmm1, 0x4e
pshufd xmm2, xmm2, 0x4e
pshuflw xmm1, xmm1, 0x1b
pshuflw xmm2, xmm2, 0x1b
pshufhw xmm1, xmm1, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm1, xmm2
movdqu xmmword [edx], xmm1
add edx, 0xfffffff0
cmp ecx, esi
jne 0x500600
cmp eax, ecx
jne 0x500684
mov ebx, dword [esp]
jmp 0x5005c7
mov ebx, dword [esp]
test bl, 0x10
jne 0x500338
mov edx, ecx
not edx
add edx, ebx
nop word cs:[eax + eax]
mov bh, byte [edi + edx]
mov bl, byte [edi + ecx]
mov byte [edi + ecx], bh
inc ecx
mov byte [edi + edx], bl
dec edx
cmp eax, ecx
jne 0x5006a0
mov esi, dword [ebp + 0x10]
mov ebx, dword [esp]
mov eax, dword [esp + 0x4c]
cmp ebx, esi
mov ecx, esi
cmovb esi, ebx
test ecx, ecx
mov dword [esp + 4], eax
je 0x50070a
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x5006e7
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x5006f8
mov ecx, dword [0x607460]
mov dword [ecx], eax
push dword [ebp + 0x10]
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, eax
test eax, eax
jne 0x50070f
push dword [ebp + 0x10]
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x5009bd
mov ecx, 1
mov eax, dword [ebp + 0x10]
mov dword [esp], ebx
mov dword [esp + 8], ecx
cmp ebx, eax
ja 0x500970
sub eax, esi
add eax, ecx
push esi
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x200]
cmp ecx, 4
jbe 0x50075b
mov ecx, dword [esp + 0x1dc]
test ecx, ecx
js 0x500984
mov esi, dword [esp + 0x1e0]
mov ebx, dword [esp]
test ecx, ecx
jne 0x500770
jmp 0x500783
lea esi, [esp + 0x1e0]
mov ebx, dword [esp]
test ecx, ecx
je 0x500783
nop dword [eax]
mov dword [esi + 4], 0
mov dword [esi], 0
add esi, 8
dec ecx
jne 0x500770
mov eax, dword [esp + 0x290]
cmp eax, 4
jbe 0x5007b2
mov eax, dword [esp + 0x26c]
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 8]
test eax, eax
js 0x500984
mov ecx, dword [esp + 0x270]
test eax, eax
jne 0x5007d0
jmp 0x5007e3
mov edx, dword [ebp + 0x10]
mov esi, dword [esp + 8]
lea ecx, [esp + 0x270]
test eax, eax
je 0x5007e3
nop word cs:[eax + eax]
nop
mov dword [ecx + 4], 0
mov dword [ecx], 0
add ecx, 8
dec eax
jne 0x5007d0
test ebx, ebx
je 0x5007f7
mov eax, edi
nop dword [eax]
mov byte [eax], 0
inc eax
dec ebx
jne 0x5007f0
mov ecx, dword [esp + 4]
test ecx, ecx
js 0x500995
je 0x50084e
xor eax, eax
nop word [eax + eax]
mov byte [edi + eax], 0
inc eax
cmp ecx, eax
jne 0x500810
mov eax, dword [esp + 0x11c]
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax], 0x12
mov eax, dword [0x607460]
push edi
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x290], 5
jb 0x5001ad
jmp 0x500872
mov eax, dword [esp + 0x11c]
mov dword [eax + 4], esi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax], 0x12
cmp dword [esp + 0x290], 5
jb 0x5001ad
mov eax, dword [0x607460]
push dword [esp + 0x270]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x5001ad
mov bl, 1
push 0x5fc288
mov eax, dword [esp + 8]
push eax
push eax
call fcn.00425270
add esp, 0xc
jmp 0x5009bd
xor eax, eax
mov ecx, 0x5fc234
jmp 0x5008b9
mov ecx, 0x5fc244
mov eax, 1
mov dl, 1
mov dword [esp], edx
push ecx
push eax
push eax
call fcn.00425270
add esp, 0xc
jmp 0x5009bd
push 0x5aa244
push 0x33
push 0x5aa1b9
call fcn.004251d0
add esp, 0xc
jmp 0x5009bd
push 0x5fc214
push 0x2b
push 0x5fba08
call fcn.004251d0
add esp, 0xc
jmp 0x5009bd
push 0x5fc224
push 0x2b
push 0x5fba08
call fcn.004251d0
add esp, 0xc
jmp 0x5009bd
call fcn.0041a880
jmp 0x5009bd
mov dword [esp], 0
push 0x5fc254
push 0x2b
push 0x5fba08
call fcn.004251d0
add esp, 0xc
jmp 0x5009bd
mov bl, 1
push 0x5aa244
push 0x33
push 0x5aa1b9
call fcn.004251d0
add esp, 0xc
jmp 0x5009bd
xor ebx, ebx
push 0x5fc278
push 0x11
push 0x5fc264
call fcn.00424f00
add esp, 0xc
jmp 0x5009bd
push 0x5fc2a8
push dword [esp + 4]
push esi
call fcn.004288b0
add esp, 0xc
jmp 0x5009bd
mov eax, 0x5aa244
mov ecx, 0x33
mov edx, 0x5aa1b9
jmp 0x5009a4
mov eax, 0x5fbcbc
mov ecx, 0x2d
mov edx, 0x5fbc8f
push eax
push ecx
push edx
call fcn.004251d0
add esp, 0xc
jmp 0x5009bd
push 1
push 1
call fcn.0041a8c0
add esp, 8
ud2
mov ecx, 0x5fc298
xor eax, eax
jmp 0x5008b9