Function at 0x496480
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Create thread
Enumerate pe sections
Get number of processors
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov eax, 0x3ad0
mov ebp, esp
push edi
push esi
push ebx
call fcn.0057e5f0
xor edx, edx
sub esp, eax
xor eax, eax
mov dword [ebp + eax - 0x3a7c], edx
add eax, 4
cmp eax, 0x18
jb 0x496496
mov ebx, dword [sym.imp.kernel32.dll_CreateEventW]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x10
mov dword [ebp - 0x3a7c], eax
mov eax, 0xc2
call fcn.00487b80
mov ecx, dword fs:[0x18]
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x3a88], ecx
mov dword [esp + 4], str.CreateEventW_failed__error__lu_n
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x3a7c]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 0x10
mov dword [ebp - 0x3a78], eax
mov eax, 0xc4
call fcn.00487b80
mov ecx, dword [ebp - 0x3a88]
mov eax, dword [ecx + 0x34]
mov dword [esp + 4], str.CreateEventW_failed__error__lu_n
mov dword [esp + 8], eax
mov ebx, dword [ebp - 0x3a78]
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
lea eax, [ebp - 0x3a7c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x488260
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateThread]
sub esp, 0x18
mov dword [ebp - 0x3ab4], eax
mov edi, eax
mov eax, 0xc6
call fcn.00487b80
mov ecx, dword [ebp - 0x3a88]
mov eax, dword [ecx + 0x34]
mov dword [esp + 4], 0x5a1bfc
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 4], 0xffffffff
mov eax, dword [ebp - 0x3a7c]
mov dword [esp], eax
mov eax, dword [sym.imp.kernel32.dll_WaitForSingleObject]
mov dword [ebp - 0x3aac], eax
call eax
sub esp, 8
mov ebx, eax
mov eax, 0xc8
call fcn.00487b80
mov ecx, dword [ebp - 0x3a88]
mov eax, dword [ecx + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.WaitForSingleObject_returned__lx__error__lu_n
mov dword [esp + 0xc], eax
xor eax, eax
test ebx, ebx
sete al
mov dword [esp], eax
call fcn.00488240
mov ebx, dword [sym.imp.kernel32.dll_GetProcessHeaps]
mov dword [esp + 4], 0
mov dword [esp], 0
call ebx
sub esp, 8
mov esi, eax
mov eax, 0xcb
call fcn.00487b80
xor eax, eax
cmp esi, 6
mov dword [esp + 8], esi
setbe al
mov dword [esp + 4], str.GetProcessHeaps_returned__lu_n
mov dword [esp], eax
call fcn.00488240
mov eax, dword [sym.imp.kernel32.dll_HeapCreate]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x3aa8], eax
call eax
sub esp, 0xc
mov edi, eax
mov eax, 0xd0
call fcn.00487b80
mov ecx, dword [ebp - 0x3a88]
xor edx, edx
test edi, edi
setne dl
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x3a94], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [ebp - 0x3a8c], edx
call fcn.00488240
mov eax, 0xd1
call fcn.00487b80
xor eax, eax
test di, di
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x3a88], ebx
call ebx
sub esp, 8
mov ebx, eax
mov eax, 0xd3
call fcn.00487b80
lea ecx, [esi + 1]
xor eax, eax
cmp ecx, ebx
mov dword [ebp - 0x3a90], ecx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.GetProcessHeaps_returned__lu_n
call fcn.00488240
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [ebp - 0x3aa8]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0xd5
call fcn.00487b80
mov ecx, dword [ebp - 0x3a94]
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x3a98], ecx
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x3a8c]
mov dword [esp], edx
call fcn.00488240
mov eax, 0xd6
call fcn.00487b80
xor eax, eax
test bx, bx
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [ebp - 0x3a88]
call eax
sub esp, 8
mov dword [ebp - 0x3a8c], eax
mov eax, 0xd8
call fcn.00487b80
mov edx, dword [ebp - 0x3a8c]
lea ecx, [esi + 2]
xor eax, eax
mov dword [esp + 4], str.GetProcessHeaps_returned__lu_n
cmp ecx, edx
mov dword [esp + 8], edx
sete al
mov dword [ebp - 0x3a8c], ecx
mov dword [esp], eax
call fcn.00488240
lea eax, [ebp - 0x3a2c]
mov dword [esp], 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x3a88]
call eax
sub esp, 8
mov dword [ebp - 0x3a94], eax
mov eax, 0xda
call fcn.00487b80
mov edx, dword [ebp - 0x3a94]
xor eax, eax
mov dword [esp + 4], str.GetProcessHeaps_returned__lu_n
mov dword [esp + 8], edx
cmp dword [ebp - 0x3a8c], edx
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0xdb
call fcn.00487b80
mov dword [esp + 4], str.got_wrong_heap_n
mov ecx, dword [ebp - 0x3a98]
mov eax, dword [ecx + 0x30]
mov ecx, dword [ebp - 0x3a2c]
cmp dword [eax + 0x18], ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [0x8f0770]
call fcn.00487980
jmp 0x4968d6
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0xdd
xor eax, eax
mov dword [esp + 4], str.got_wrong_heap_n
cmp dword [ebp + esi*4 - 0x3a2c], edi
sete al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4968a0
mov eax, dword [0x8f0770]
call fcn.00487980
mov dword [ebp - 0x3a8c], esi
mov esi, dword [ebp - 0x3a90]
jmp 0x49693e
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0xdf
xor eax, eax
mov dword [esp + 4], str.got_wrong_heap_n
cmp dword [ebp + esi*4 - 0x3a2c], ebx
sete al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x496908
mov eax, dword [sym.imp.kernel32.dll_HeapDestroy]
mov esi, dword [ebp - 0x3a8c]
mov dword [esp], ebx
mov ebx, dword fs:[0x18]
mov dword [ebp - 0x3aa0], eax
call eax
sub esp, 4
mov dword [ebp - 0x3a8c], eax
mov eax, 0xe1
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x3a8c]
mov dword [esp], edx
call fcn.00488240
mov dword [esp], edi
mov eax, dword [ebp - 0x3aa0]
call eax
sub esp, 4
mov edi, eax
mov eax, 0xe3
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [ebp - 0x3a88]
call eax
sub esp, 8
mov edi, eax
mov eax, 0xe5
call fcn.00487b80
xor eax, eax
cmp esi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.GetProcessHeaps_returned__lu_n
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [ebp - 0x3aa8]
call eax
sub esp, 0xc
mov edi, eax
mov dword [ebp - 0x3a88], eax
mov eax, 0xea
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, 0xeb
call fcn.00487b80
xor eax, eax
test di, di
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [sym.imp.kernel32.dll_HeapFree]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x3a8c], eax
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0xf0
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp], edi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0xf2
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, dword [sym.imp.kernel32.dll_HeapReAlloc]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp], edi
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x3aa4], eax
call eax
sub esp, 0x10
mov esi, eax
mov eax, 0x102
call fcn.00487b80
xor eax, eax
test esi, esi
mov dword [esp + 4], str.HeapReAlloc_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [0x8f0770]
call fcn.00487980
jmp 0x496bab
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x104
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
mov edx, dword [ebx + 0x34]
xor eax, eax
test edx, edx
sete al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x496b70
mov edi, dword fs:[0x18]
mov dword [ebp - 0x3ab0], edx
mov esi, dword [sym.imp.kernel32.dll_HeapValidate]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
call esi
sub esp, 0xc
mov ebx, eax
mov eax, 0x117
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapValidate_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x118
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x5d31c0
mov dword [esp + 4], 0
and eax, 0xffffffc0
add eax, 0x40
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
call esi
sub esp, 0xc
mov ebx, eax
mov eax, 0x11b
call fcn.00487b80
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.HeapValidate_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x11c
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.00488240
mov ecx, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov dword [ebp - 0x3a90], ecx
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0x11f
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov edx, dword [sym.imp.kernel32.dll_HeapSize]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov dword [ebp - 0x3a98], edx
call edx
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x121
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov ecx, dword [edi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0xfffffff8
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
call dword [0x78e030]
sub esp, 0x10
mov dword [ebp - 0x3a94], eax
mov eax, 0x123
call fcn.00487b80
mov dword [esp + 4], str.HeapReAlloc_succeeded_n
xor eax, eax
mov edx, dword [ebp - 0x3a94]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
call dword [0x78e030]
sub esp, 0x10
mov dword [ebp - 0x3a94], eax
mov eax, 0x125
call fcn.00487b80
mov dword [esp + 4], str.HeapReAlloc_succeeded_n
xor eax, eax
mov edx, dword [ebp - 0x3a94]
test edx, edx
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
call esi
sub esp, 0xc
mov dword [ebp - 0x3a94], eax
mov eax, 0x127
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapValidate_failed__error__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x3a94]
mov dword [esp], edx
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
call dword [0x78e02c]
sub esp, 0xc
mov dword [ebp - 0x3a94], eax
mov eax, 0x129
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x3a94]
mov dword [esp], edx
call fcn.00488240
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov ebx, dword [ebp - 0x3a88]
mov dword [esp], ebx
call esi
sub esp, 0xc
mov ebx, eax
mov eax, 0x12c
call fcn.00487b80
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.HeapValidate_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x12d
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0
mov esi, dword [ebp - 0x3a88]
mov dword [esp], esi
call dword [0x78e034]
sub esp, 0xc
mov ebx, eax
mov eax, 0x130
call fcn.00487b80
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.HeapAlloc_succeeded_n
sete al
mov ebx, esi
mov dword [esp], eax
call fcn.00488240
mov dword [esp], esi
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x133
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x3a88], ebx
mov dword [esp], ebx
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0x135
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov ebx, dword [ebp - 0x3a88]
mov dword [esp], ebx
mov edx, dword [ebp - 0x3a98]
call edx
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x137
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov ecx, dword [edi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov esi, ebx
mov dword [esp], ebx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x139
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp], esi
mov dword [esp + 8], 0xa0001
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0x13c
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x13e
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov ebx, esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp], esi
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x141
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], 0
mov edx, dword [ebp - 0x3a98]
call edx
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x143
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov ecx, dword [edi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x20000
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], 0x80000
mov dword [esp + 4], 0
mov dword [ebp - 0x3a88], ebx
mov dword [esp], ebx
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0x145
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov ebx, dword [ebp - 0x3a88]
mov dword [esp], ebx
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x147
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov ebx, dword [ebp - 0x3a88]
mov dword [esp], ebx
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x149
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.00488240
lea eax, [ebp - 0x3a0c]
mov dword [ebp - 0x3a94], 0
mov dword [ebp - 0x3a9c], eax
mov esi, eax
lea esi, [esi]
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov eax, dword [ebp - 0x3a90]
call eax
mov dword [esi], eax
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x151
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
add esi, 4
mov dword [esp], eax
call fcn.00488240
lea eax, [ebp - 0x380c]
or dword [ebp - 0x3a94], ebx
cmp esi, eax
jne 0x4972a8
mov eax, 0x154
call fcn.00487b80
mov dword [esp + 4], str.got_wrong_alignment_n
xor eax, eax
mov edi, dword [ebp - 0x3a94]
test edi, 7
sete al
and edi, 8
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.00488240
mov eax, 0x155
call fcn.00487b80
mov dword [esp + 4], str.got_wrong_alignment_n
mov dword [esp], edi
call fcn.00488240
mov esi, dword [ebp - 0x3a9c]
lea esi, [esi]
nop
mov eax, dword [esi]
mov dword [esp + 4], 0
add esi, 4
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x159
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.00488240
lea eax, [ebp - 0x380c]
cmp esi, eax
jne 0x497370
mov dword [ebp - 0x3a94], 0
mov esi, dword [ebp - 0x3a9c]
mov edi, dword fs:[0x18]
lea esi, [esi]
mov dword [esp + 8], 0x80000
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov eax, dword [ebp - 0x3a90]
call eax
mov dword [esi], eax
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x160
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
add esi, 4
mov dword [esp], eax
call fcn.00488240
lea eax, [ebp - 0x380c]
or dword [ebp - 0x3a94], ebx
cmp esi, eax
jne 0x4973e8
mov eax, 0x163
call fcn.00487b80
mov dword [esp + 4], str.got_wrong_alignment_n
xor eax, eax
mov edi, dword [ebp - 0x3a94]
test edi, 0x1f
sete al
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.00488240
mov eax, 0x164
call fcn.00487b80
mov eax, edi
mov dword [esp + 4], str.got_wrong_alignment_n
and eax, 0x20
mov dword [esp], eax
call fcn.00488240
mov esi, dword [ebp - 0x3a9c]
lea esi, [esi]
mov eax, dword [esi]
mov dword [esp + 4], 0
add esi, 4
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x168
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
mov dword [esp], edi
call fcn.00488240
lea eax, [ebp - 0x380c]
cmp esi, eax
jne 0x4974b0
mov dword [esp + 8], 1
mov dword [esp + 4], 8
mov edi, dword [ebp - 0x3a88]
mov dword [esp], edi
mov eax, dword [ebp - 0x3a90]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x16e
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x3a98]
call eax
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x170
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a84]
mov ecx, dword [ebp - 0x3ac4]
xor edx, edx
jmp 0x4975d4
sub eax, 1
mov edx, 1
cmp byte [esi + eax], 0
jne 0x49d7e6
mov ecx, eax
test eax, eax
jne 0x4975c0
test dl, dl
je 0x4975e2
mov dword [ebp - 0x3a84], ecx
mov eax, 0x172
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
test eax, eax
je 0x49d7b8
xor eax, eax
mov dword [esp], eax
mov dword [esp + 4], str.memory_wasnt_zeroed_n
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov edi, dword [ebp - 0x3a88]
mov esi, dword fs:[0x18]
mov dword [esp], edi
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x174
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0x100000
mov dword [esp + 4], 8
mov dword [esp], edi
mov eax, dword [ebp - 0x3a90]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x177
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x3a98]
call eax
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x179
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [esi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x100000
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a84]
mov ecx, dword [ebp - 0x3ac0]
xor edx, edx
jmp 0x49771c
sub eax, 1
mov edx, 1
cmp byte [ebx + eax], 0
jne 0x49d7c5
mov ecx, eax
test eax, eax
jne 0x497708
test dl, dl
je 0x49772a
mov dword [ebp - 0x3a84], ecx
mov eax, 0x17b
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
test eax, eax
je 0x49d7ab
xor eax, eax
mov dword [esp], eax
mov dword [esp + 4], str.memory_wasnt_zeroed_n
mov esi, dword fs:[0x18]
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov edi, dword [ebp - 0x3a88]
mov dword [esp], edi
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x17d
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 8
mov dword [esp], edi
mov eax, dword [ebp - 0x3a90]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x180
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x3a98]
call eax
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x182
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [esi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x20000
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a84]
mov ecx, dword [ebp - 0x3ab8]
xor edx, edx
jmp 0x497864
sub eax, 1
mov edx, 1
cmp byte [ebx + eax], 0
jne 0x49d7db
mov ecx, eax
test eax, eax
jne 0x497850
test dl, dl
je 0x497872
mov dword [ebp - 0x3a84], ecx
mov eax, 0x184
call fcn.00487b80
mov edi, dword [ebp - 0x3a84]
xor eax, eax
test edi, edi
jne 0x497890
xor eax, eax
cmp byte [ebx], 0
sete al
mov dword [esp], eax
mov dword [esp + 4], str.memory_wasnt_zeroed_n
mov esi, dword fs:[0x18]
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x60000
mov dword [esp + 4], 8
mov edi, dword [ebp - 0x3a88]
mov dword [esp], edi
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0x187
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x3a98]
call eax
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x189
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [esi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x60000
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a84]
jmp 0x49796f
sub eax, 1
mov dword [ebp - 0x3a84], eax
cmp byte [ebx + eax], 0
jne 0x497973
test eax, eax
jne 0x497960
mov eax, 0x18b
call fcn.00487b80
mov esi, dword [ebp - 0x3a84]
xor eax, eax
test esi, esi
jne 0x497991
xor eax, eax
cmp byte [ebx], 0
sete al
mov dword [esp], eax
mov dword [esp + 4], str.memory_wasnt_zeroed_n
mov esi, dword fs:[0x18]
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x30000
mov dword [esp + 4], 0x10
mov edi, dword [ebp - 0x3a88]
mov dword [esp], edi
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0x18f
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_HEAP_REALLOC_IN_PLACE_ONLY_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp ebx, edi
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x40000
mov dword [esp + 4], 0x10
mov edi, dword [ebp - 0x3a88]
mov dword [esp], edi
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0x191
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_HEAP_REALLOC_IN_PLACE_ONLY_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp ebx, edi
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 4], 8
mov edi, dword [ebp - 0x3a88]
mov dword [esp], edi
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0x194
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x3a98]
call eax
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x196
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [esi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a84]
jmp 0x497b0f
sub eax, 1
mov dword [ebp - 0x3a84], eax
cmp byte [ebx + eax], 0
jne 0x497b13
test eax, eax
jne 0x497b00
mov eax, 0x198
call fcn.00487b80
mov ecx, dword [ebp - 0x3a84]
xor eax, eax
test ecx, ecx
jne 0x497b31
xor eax, eax
cmp byte [ebx], 0
sete al
mov dword [esp], eax
mov dword [esp + 4], str.memory_wasnt_zeroed_n
mov esi, dword fs:[0x18]
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x100000
mov dword [esp + 4], 8
mov edi, dword [ebp - 0x3a88]
mov dword [esp], edi
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov ebx, eax
mov eax, 0x19b
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], edi
mov eax, dword [ebp - 0x3a98]
call eax
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x19d
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [esi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x100000
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a84]
jmp 0x497c0f
sub eax, 1
mov dword [ebp - 0x3a84], eax
cmp byte [ebx + eax], 0
jne 0x497c13
test eax, eax
jne 0x497c00
mov eax, 0x19f
call fcn.00487b80
mov edx, dword [ebp - 0x3a84]
test edx, edx
jne 0x497c35
xor eax, eax
cmp byte [ebx], 0
sete al
mov dword [ebp - 0x3ab0], eax
mov dword [esp + 4], str.memory_wasnt_zeroed_n
mov eax, dword [ebp - 0x3ab0]
mov edi, dword fs:[0x18]
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x30000
mov dword [esp + 4], 0x10
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov ecx, dword [ebp - 0x3aa4]
call ecx
sub esp, 0x10
mov esi, eax
mov eax, 0x1a3
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_HEAP_REALLOC_IN_PLACE_ONLY_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp ebx, esi
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0x40000
mov dword [esp + 4], 0x10
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov ecx, dword [ebp - 0x3aa4]
call ecx
mov esi, eax
mov eax, dword [0x8f0770]
sub esp, 0x10
call fcn.00487980
jmp 0x497d19
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x1a7
xor eax, eax
cmp ebx, esi
setne al
mov dword [esp + 4], str.HeapReAlloc_HEAP_REALLOC_IN_PLACE_ONLY_succeeded_n
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x497ce8
mov eax, dword [0x8f0770]
mov ebx, dword fs:[0x18]
call fcn.00487980
jmp 0x497d7a
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x1a9
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 8
sete al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test ecx, ecx
jne 0x497d40
mov dword [ebp - 0x3a94], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov esi, dword [ebp - 0x3a88]
mov edi, dword fs:[0x18]
mov dword [esp], esi
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x1ac
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp], esi
mov ecx, dword [ebp - 0x3aa0]
call ecx
sub esp, 4
mov ebx, eax
mov eax, 0x1af
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 0x20000
mov dword [esp], 0
mov edx, dword [ebp - 0x3aa8]
call edx
sub esp, 0xc
mov ebx, eax
mov eax, 0x1b5
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x1b6
call fcn.00487b80
xor eax, eax
test bx, bx
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp], ebx
mov dword [esp + 8], 0x1f800
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1bb
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], 0
mov edx, dword [ebp - 0x3a98]
call edx
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x1bd
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [edi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x1f800
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x1c0
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp], ebx
mov dword [esp + 8], 0x1fc00
mov dword [esp + 4], 0
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1c4
call fcn.00487b80
xor eax, eax
test esi, esi
mov dword [esp + 4], str.HeapAlloc_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x1c5
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 8
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x1c7
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp], ebx
mov ebx, dword [ebp - 0x3aa0]
call ebx
sub esp, 4
mov ebx, eax
mov eax, 0x1ca
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0x100000
mov dword [esp + 4], 0x100000
mov dword [esp], 0
mov ebx, dword [ebp - 0x3aa8]
call ebx
mov ebx, eax
sub esp, 0xc
mov eax, 0x1ce
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x1cf
call fcn.00487b80
xor eax, eax
test bx, bx
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], ebx
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1d2
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], ebx
mov edx, dword [ebp - 0x3a98]
call edx
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x1d4
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [edi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], ebx
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x1d6
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x80000
mov dword [esp + 4], 0
mov dword [esp], ebx
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1dc
call fcn.00487b80
xor eax, eax
test esi, esi
mov dword [esp + 4], str.HeapAlloc_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x1dd
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 8
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], ebx
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x1df
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 0
mov dword [esp], ebx
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1e2
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [ebp - 0x3a88], esi
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], ebx
mov edx, dword [ebp - 0x3a98]
call edx
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x1e4
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov esi, dword [edi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x20000
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], esi
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 8], 0x80000
mov dword [esp + 4], 0
mov dword [esp], ebx
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1e7
call fcn.00487b80
xor eax, eax
test esi, esi
mov dword [esp + 4], str.HeapAlloc_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x1e8
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 8
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], ebx
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x1ea
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov esi, dword [ebp - 0x3a88]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x1ec
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0x20000
mov dword [esp + 4], 8
mov dword [esp], ebx
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov eax, 0x1ef
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], ebx
mov edx, dword [ebp - 0x3a98]
call edx
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x1f1
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [edi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x20000
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a84]
mov edi, dword [ebp - 0x3abc]
xor edx, edx
mov ecx, dword [ebp - 0x3a94]
jmp 0x498494
sub eax, 1
mov edx, 1
cmp byte [esi + eax], 0
jne 0x49d7d0
mov edi, eax
test eax, eax
jne 0x498480
test dl, dl
je 0x4984a2
mov dword [ebp - 0x3a84], edi
mov eax, 0x1f3
mov dword [ebp - 0x3a88], ecx
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov ecx, dword [ebp - 0x3a88]
test eax, eax
je 0x49d79e
xor eax, eax
mov dword [ebp - 0x3a88], ecx
mov dword [esp], eax
mov dword [esp + 4], str.memory_wasnt_zeroed_n
call fcn.00488240
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0x40000
mov dword [esp + 4], 8
mov dword [esp], ebx
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov edi, eax
mov eax, 0x1f6
call fcn.00487b80
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], ebx
mov eax, dword [ebp - 0x3a98]
call eax
sub esp, 0xc
mov dword [ebp - 0x3a84], eax
mov eax, 0x1f8
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov edx, dword [esi + 0x34]
mov dword [esp + 4], str.HeapSize_returned__Ix__error__lu_n
cmp eax, 0x40000
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a84]
mov ecx, dword [ebp - 0x3a88]
jmp 0x4985a7
sub eax, 1
mov dword [ebp - 0x3a84], eax
cmp byte [edi + eax], 0
jne 0x4985ab
test eax, eax
jne 0x498598
mov eax, 0x1fa
mov dword [ebp - 0x3a88], ecx
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
test eax, eax
je 0x49d791
mov ecx, dword [ebp - 0x3a88]
mov dword [esp], ecx
mov dword [esp + 4], str.memory_wasnt_zeroed_n
mov esi, dword fs:[0x18]
call fcn.00488240
mov dword [esp + 8], edi
mov dword [esp], ebx
mov dword [esp + 0xc], 0x30000
mov dword [esp + 4], 0x10
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov dword [ebp - 0x3a88], eax
mov eax, 0x1fd
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_HEAP_REALLOC_IN_PLACE_ONLY_failed__error__lu_n
mov dword [esp + 8], eax
mov edx, dword [ebp - 0x3a88]
xor eax, eax
cmp edi, edx
sete al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], edi
mov dword [esp], ebx
mov dword [esp + 0xc], 0x40000
mov dword [esp + 4], 0x10
mov eax, dword [ebp - 0x3aa4]
call eax
sub esp, 0x10
mov dword [ebp - 0x3a88], eax
mov eax, 0x1ff
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapReAlloc_HEAP_REALLOC_IN_PLACE_ONLY_failed__error__lu_n
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3a88]
cmp edi, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a88]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov edi, eax
mov eax, 0x201
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp], ebx
mov eax, dword [ebp - 0x3aa0]
call eax
sub esp, 4
mov ebx, eax
mov eax, 0x204
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [ebp - 0x3aa8]
call eax
sub esp, 0xc
mov edi, eax
mov eax, 0x208
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x209
call fcn.00487b80
mov dword [esp + 4], str.wrong_heap_alignment_n
xor eax, eax
mov dword [ebp - 0x3a88], edi
cmp word [ebp - 0x3a88], 0
lea edi, [ebp - 0x380c]
sete al
mov dword [esp], eax
call fcn.00488240
xor eax, eax
mov ecx, 0x700
mov dword [ebp - 0x3a60], 0xcdcdcdcd
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x380c]
mov dword [esi + 0x34], 0xdeadbeef
mov edi, dword [ebp - 0x3a88]
mov dword [ebp - 0x3a5c], 0xcdcdcdcd
mov ebx, eax
xor esi, esi
mov dword [ebp - 0x3a58], 0xcdcdcdcd
mov dword [ebp - 0x3a54], 0xcdcdcdcd
mov dword [ebp - 0x3a50], 0xcdcdcdcd
mov dword [ebp - 0x3a4c], 0xcdcdcdcd
mov dword [ebp - 0x3a64], 0
mov dword [ebp - 0x3ab0], eax
jmp 0x49883d
mov eax, dword [ebp - 0x3a64]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a60]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a5c]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a58]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a54]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a50]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a4c]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a64]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.ntdll.dll_RtlWalkHeap]
sub esp, 8
test eax, eax
je 0x4987f8
mov eax, 0x211
lea edi, [ebp - 0x1c0c]
lea ebx, [ebp - 0x1c0c]
call fcn.00487b80
xor eax, eax
cmp esi, 3
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
xor esi, esi
mov dword [esp], eax
call fcn.00488240
xor eax, eax
mov ecx, 0x700
mov dword [ebp - 0x3a44], 0xcdcdcdcd
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x3a88]
mov dword [ebp - 0x3a40], 0xcdcdcdcd
mov eax, dword fs:[0x18]
mov dword [ebp - 0x3a3c], 0xcdcdcdcd
mov dword [ebp - 0x3a38], 0xcdcdcdcd
mov dword [ebp - 0x3a34], 0xcdcdcdcd
mov dword [ebp - 0x3a30], 0xcdcdcdcd
mov dword [ebp - 0x3a48], 0
mov dword [eax + 0x34], 0xdeadbeef
jmp 0x498935
mov eax, dword [ebp - 0x3a48]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a44]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a40]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a3c]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a38]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a34]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a30]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a48]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_HeapWalk]
sub esp, 8
test eax, eax
jne 0x4988f0
mov eax, 0x219
lea ebx, [ebp - 0x1c0c]
call fcn.00487b80
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], edx
cmp dword [eax + 0x34], 0x103
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x21a
call fcn.00487b80
xor eax, eax
cmp esi, 3
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
xor edi, edi
mov dword [ebp - 0x3a94], esi
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a94]
lea ecx, [ebp - 0x380c]
mov esi, ecx
test eax, eax
jne 0x498a15
jmp 0x498bad
test al, 4
jne 0x498b30
test al, 2
jne 0x498b7a
test al, 1
jne 0x49d6b8
call fcn.0057d110
mov edx, dword [eax + 0xbec]
test edx, edx
je 0x498a00
sub edx, 1
mov dword [eax + 0xbec], edx
add edi, 1
add esi, 0x1c
add ebx, 0x1c
cmp dword [ebp - 0x3a94], edi
je 0x498bad
mov dword [esp + 4], edi
mov dword [esp], 0x5a1e12
call fcn.00487aa0
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x21f
mov eax, dword [esi]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], eax
cmp dword [ebx], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x220
mov eax, dword [esi + 4]
mov dword [esp + 4], str.got_cbData__Ix_n
mov dword [esp + 8], eax
cmp dword [ebx + 4], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x221
movzx edx, byte [esi + 8]
mov dword [esp + 4], str.got_cbOverhead__x_n
mov dword [esp + 8], edx
cmp byte [ebx + 8], dl
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x222
movzx edx, byte [esi + 9]
mov dword [esp + 4], str.got_iRegionIndex__x_n
mov dword [esp + 8], edx
cmp byte [ebx + 9], dl
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
movzx eax, word [ebx + 0xa]
test ax, ax
jne 0x4989d0
mov eax, 0x224
call fcn.00487b80
movzx edx, word [esi + 0xa]
mov dword [esp + 4], str.got_wFlags__x_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
jmp 0x4989e8
mov eax, 0x226
call fcn.00487b80
movzx ecx, word [esi + 0xa]
mov eax, 1
cmp cx, 0x4011
je 0x498b61
mov eax, dword [0x8f0770]
test eax, eax
sete al
cmp cx, 0x411
sete dl
movzx edx, dl
and eax, edx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.got_wFlags__x_n
mov dword [esp], eax
call fcn.00488240
jmp 0x4989e8
mov eax, 0x229
call fcn.00487b80
movzx ecx, word [esi + 0xa]
mov eax, 1
cmp cx, 0x1000
je 0x498b61
mov eax, dword [0x8f0770]
test eax, eax
sete al
cmp cx, 0x100
sete dl
movzx edx, dl
and eax, edx
jmp 0x498b61
mov eax, 0x23a
call fcn.00487b80
movzx edx, word [ebp - 0x1c02]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 1
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x23b
call fcn.00487b80
mov eax, dword [ebp - 0x1c0c]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x3a88]
cmp eax, ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x23c
call fcn.00487b80
mov eax, dword [ebp - 0x1c08]
mov dword [esp + 4], str.got_cbData__lx_n
cmp eax, 0x1000
mov dword [esp + 8], eax
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x23d
call fcn.00487b80
movzx edx, byte [ebp - 0x1c04]
mov dword [esp + 4], str.got_cbOverhead__x_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x23e
call fcn.00487b80
movzx edx, byte [ebp - 0x1c03]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [0x8f0770]
call fcn.00487980
jmp 0x498ce7
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x240
mov eax, dword [ebp - 0x1c00]
mov dword [esp + 4], str.got_Region.dwCommittedSize__lx_n
cmp eax, 0x1000
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x498ca8
mov eax, 0x242
call fcn.00487b80
mov ebx, dword [ebp - 0x1c00]
mov eax, 0x10000
mov edx, dword [ebp - 0x1bfc]
mov ecx, 1
sub eax, ebx
cmp edx, eax
je 0x498d2e
mov eax, 0x40000
xor ecx, ecx
sub eax, ebx
cmp eax, edx
sete cl
mov dword [esp + 8], edx
mov dword [esp + 4], str.got_Region.dwUnCommittedSize__lx_n
mov dword [esp], ecx
call fcn.00488240
mov eax, dword [0x8f0770]
call fcn.00487980
jmp 0x498da9
call fcn.0057d110
mov edx, 1
mov dword [eax], 0x5a0c14
mov ebx, dword [ebp - 0x1c0c]
mov dword [eax + 4], 0x246
mov ecx, dword [ebp - 0x1c08]
mov eax, dword [ebp - 0x1bf8]
lea esi, [ebx + ecx + 8]
cmp eax, esi
je 0x498d8d
lea edx, [ebx + ecx + 0x10]
cmp eax, edx
sete dl
movzx edx, dl
mov dword [esp + 8], eax
mov dword [esp], edx
mov dword [esp + 4], str.got_Region.lpFirstBlock__p_n
call fcn.00488240
call fcn.0057d110
shr dword [eax + 0x10], 1
call fcn.0057d110
mov ebx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test ebx, ebx
jne 0x498d50
mov eax, 0x249
call fcn.00487b80
mov edx, dword [ebp - 0x1bf4]
mov dword [esp + 4], str.got_Region.lpLastBlock__p_n
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x1bd0]
add eax, dword [ebp - 0x1bd4]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x24c
call fcn.00487b80
movzx edx, word [ebp - 0x1be6]
mov dword [esp + 4], str.got_wFlags__x_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x24d
call fcn.00487b80
mov eax, dword [ebp - 0x1bf0]
mov dword [esp + 4], str.got_lpData__p_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x24e
call fcn.00487b80
mov eax, dword [ebp - 0x1bec]
mov dword [esp + 4], str.got_cbData__lx_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x24f
call fcn.00487b80
movzx edx, byte [ebp - 0x1be8]
mov dword [esp + 4], str.got_cbOverhead__x_n
cmp dl, 0x10
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x250
call fcn.00487b80
movzx edx, byte [ebp - 0x1be7]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x252
call fcn.00487b80
movzx edx, word [ebp - 0x1bca]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x253
call fcn.00487b80
mov edx, dword [ebp - 0x1bd4]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x1c00]
add eax, dword [ebp - 0x1c0c]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x255
call fcn.00487b80
mov edx, dword [ebp - 0x1bd4]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], edx
movzx ecx, byte [ebp - 0x1be8]
mov eax, dword [ebp - 0x1bec]
lea eax, [eax + ecx*2]
add eax, dword [ebp - 0x1bf0]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x257
call fcn.00487b80
mov ecx, dword [ebp - 0x1bfc]
mov edx, dword [ebp - 0x1bd0]
mov dword [esp + 4], str.got_cbData__lx_n
lea eax, [ecx - 0x1000]
mov dword [esp + 8], edx
cmp eax, edx
sete al
cmp edx, ecx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x25a
call fcn.00487b80
movzx edx, byte [ebp - 0x1bcc]
mov dword [esp + 4], str.got_cbOverhead__x_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x25b
call fcn.00487b80
movzx edx, byte [ebp - 0x1bcb]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
mov esi, dword fs:[0x18]
call fcn.00488240
mov dword [esp + 8], 0xa0000
mov dword [esp + 4], 8
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov edi, eax
mov dword [ebp - 0x3a98], eax
mov eax, 0x25e
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
lea edi, [ebp - 0x380c]
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, ebx
mov ecx, 0x700
mov dword [ebp - 0x3a60], 0xcdcdcdcd
rep stosd dword es:[edi], eax
lea ebx, [ebp - 0x380c]
mov dword [esi + 0x34], 0xdeadbeef
mov edi, dword [ebp - 0x3a88]
mov dword [ebp - 0x3a5c], 0xcdcdcdcd
xor esi, esi
mov dword [ebp - 0x3a58], 0xcdcdcdcd
mov dword [ebp - 0x3a54], 0xcdcdcdcd
mov dword [ebp - 0x3a50], 0xcdcdcdcd
mov dword [ebp - 0x3a4c], 0xcdcdcdcd
mov dword [ebp - 0x3a64], 0
jmp 0x499125
mov eax, dword [ebp - 0x3a64]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a60]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a5c]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a58]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a54]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a50]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a4c]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a64]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.ntdll.dll_RtlWalkHeap]
sub esp, 8
test eax, eax
je 0x4990e0
mov eax, 0x266
lea edi, [ebp - 0x1a4c]
lea ebx, [ebp - 0x1c0c]
call fcn.00487b80
xor eax, eax
cmp esi, 4
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
lea esi, [ebp - 0x1c0c]
mov dword [esp], eax
call fcn.00488240
mov ecx, 0x15
mov dword [ebp - 0x3a44], 0xcdcdcdcd
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x3a88]
xor esi, esi
mov dword [ebp - 0x3a40], 0xcdcdcdcd
mov eax, dword fs:[0x18]
mov dword [ebp - 0x3a3c], 0xcdcdcdcd
mov dword [ebp - 0x3a38], 0xcdcdcdcd
mov dword [ebp - 0x3a34], 0xcdcdcdcd
mov dword [ebp - 0x3a30], 0xcdcdcdcd
mov dword [ebp - 0x3a48], 0
mov dword [eax + 0x34], 0xdeadbeef
jmp 0x499225
mov eax, dword [ebp - 0x3a48]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a44]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a40]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a3c]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a38]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a34]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a30]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a48]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_HeapWalk]
sub esp, 8
test eax, eax
jne 0x4991e0
mov eax, 0x26e
lea ebx, [ebp - 0x1c0c]
call fcn.00487b80
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], edx
cmp dword [eax + 0x34], 0x103
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x26f
call fcn.00487b80
xor eax, eax
cmp esi, 4
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
mov dword [ebp - 0x3a94], esi
mov dword [esp], eax
call fcn.00488240
mov eax, 0x270
call fcn.00487b80
lea ecx, [ebp - 0x1c0c]
mov dword [esp + 8], 0x54
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x1a4c]
mov dword [esp], ecx
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.entries_differ_n
test eax, eax
sete al
xor edi, edi
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov edx, dword [ebp - 0x3a94]
lea ecx, [ebp - 0x380c]
mov esi, ecx
test edx, edx
jne 0x499345
jmp 0x4994dd
test al, 4
jne 0x499460
test al, 2
jne 0x4994aa
test al, 1
jne 0x49d5df
call fcn.0057d110
mov edx, dword [eax + 0xbec]
test edx, edx
je 0x499330
sub edx, 1
mov dword [eax + 0xbec], edx
add edi, 1
add esi, 0x1c
add ebx, 0x1c
cmp dword [ebp - 0x3a94], edi
je 0x4994dd
mov dword [esp + 4], edi
mov dword [esp], 0x5a1e12
call fcn.00487aa0
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x275
mov eax, dword [esi]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], eax
cmp dword [ebx], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x276
mov eax, dword [esi + 4]
mov dword [esp + 4], str.got_cbData__Ix_n
mov dword [esp + 8], eax
cmp dword [ebx + 4], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x277
movzx edx, byte [esi + 8]
mov dword [esp + 4], str.got_cbOverhead__x_n
mov dword [esp + 8], edx
cmp byte [ebx + 8], dl
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x278
movzx edx, byte [esi + 9]
mov dword [esp + 4], str.got_iRegionIndex__x_n
mov dword [esp + 8], edx
cmp byte [ebx + 9], dl
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
movzx eax, word [ebx + 0xa]
test ax, ax
jne 0x499300
mov eax, 0x27a
call fcn.00487b80
movzx edx, word [esi + 0xa]
mov dword [esp + 4], str.got_wFlags__x_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
jmp 0x499318
mov eax, 0x27c
call fcn.00487b80
movzx ecx, word [esi + 0xa]
mov eax, 1
cmp cx, 0x4011
je 0x499491
mov eax, dword [0x8f0770]
test eax, eax
sete al
cmp cx, 0x411
sete dl
movzx edx, dl
and eax, edx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.got_wFlags__x_n
mov dword [esp], eax
call fcn.00488240
jmp 0x499318
mov eax, 0x27f
call fcn.00487b80
movzx ecx, word [esi + 0xa]
mov eax, 1
cmp cx, 0x1000
je 0x499491
mov eax, dword [0x8f0770]
test eax, eax
sete al
cmp cx, 0x100
sete dl
movzx edx, dl
and eax, edx
jmp 0x499491
mov eax, 0x290
call fcn.00487b80
movzx ecx, word [ebp - 0x1bae]
mov eax, 1
cmp cx, 4
je 0x49950e
mov eax, dword [0x8f0770]
test eax, eax
sete bl
xor eax, eax
cmp cx, 0x24
sete al
and eax, ebx
mov dword [esp + 8], ecx
lea edi, [ebp - 0x380c]
mov dword [esp], eax
mov dword [esp + 4], str.got_wFlags__x_n
call fcn.00488240
mov eax, 0x293
call fcn.00487b80
mov eax, dword [ebp - 0x1bb8]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x3a98]
cmp eax, ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x294
call fcn.00487b80
mov eax, dword [ebp - 0x1bb4]
mov dword [esp + 4], str.got_cbData__lx_n
cmp eax, 0xa0000
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x295
call fcn.00487b80
movzx edx, byte [ebp - 0x1bb0]
mov dword [esp + 4], str.got_cbOverhead__x_n
mov eax, edx
mov dword [esp + 8], edx
test al, 0xdf
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x297
call fcn.00487b80
movzx edx, byte [ebp - 0x1baf]
mov dword [esp + 4], str.got_iRegionIndex__d_n
cmp dl, 0x40
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.00488240
mov dword [esp + 8], 0xa0000
mov dword [esp + 4], 8
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov dword [ebp - 0x3aa4], eax
mov eax, 0x29a
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
xor esi, esi
mov dword [esp], eax
call fcn.00488240
mov ecx, 0x700
xor eax, eax
mov dword [ebp - 0x3a60], 0xcdcdcdcd
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x3a88]
mov dword [ebx + 0x34], 0xdeadbeef
lea ebx, [ebp - 0x380c]
mov dword [ebp - 0x3a5c], 0xcdcdcdcd
mov dword [ebp - 0x3a58], 0xcdcdcdcd
mov dword [ebp - 0x3a54], 0xcdcdcdcd
mov dword [ebp - 0x3a50], 0xcdcdcdcd
mov dword [ebp - 0x3a4c], 0xcdcdcdcd
mov dword [ebp - 0x3a64], 0
jmp 0x4996f5
mov eax, dword [ebp - 0x3a64]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a60]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a5c]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a58]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a54]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a50]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a4c]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a64]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.ntdll.dll_RtlWalkHeap]
sub esp, 8
test eax, eax
je 0x4996b0
mov eax, 0x2a2
lea edi, [ebp - 0x1a4c]
lea ebx, [ebp - 0x1c0c]
call fcn.00487b80
xor eax, eax
cmp esi, 5
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
lea esi, [ebp - 0x1c0c]
mov dword [esp], eax
call fcn.00488240
mov ecx, 0x1c
mov dword [ebp - 0x3a44], 0xcdcdcdcd
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x3a88]
xor esi, esi
mov dword [ebp - 0x3a40], 0xcdcdcdcd
mov eax, dword fs:[0x18]
mov dword [ebp - 0x3a3c], 0xcdcdcdcd
mov dword [ebp - 0x3a38], 0xcdcdcdcd
mov dword [ebp - 0x3a34], 0xcdcdcdcd
mov dword [ebp - 0x3a30], 0xcdcdcdcd
mov dword [ebp - 0x3a48], 0
mov dword [eax + 0x34], 0xdeadbeef
jmp 0x4997f5
mov eax, dword [ebp - 0x3a48]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a44]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a40]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a3c]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a38]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a34]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a30]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a48]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_HeapWalk]
sub esp, 8
test eax, eax
jne 0x4997b0
mov eax, 0x2aa
lea ebx, [ebp - 0x1c0c]
call fcn.00487b80
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], edx
cmp dword [eax + 0x34], 0x103
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2ab
call fcn.00487b80
xor eax, eax
cmp esi, 5
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
mov dword [ebp - 0x3a94], esi
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2ac
call fcn.00487b80
lea ecx, [ebp - 0x1c0c]
mov dword [esp + 8], 0x70
mov dword [esp + 4], ecx
lea ecx, [ebp - 0x1a4c]
mov dword [esp], ecx
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.entries_differ_n
test eax, eax
sete al
xor edi, edi
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, dword [ebp - 0x3a94]
lea ecx, [ebp - 0x380c]
mov esi, ecx
test eax, eax
jne 0x499915
jmp 0x499aad
test al, 4
jne 0x499a30
test al, 2
jne 0x499a7a
test al, 1
jne 0x49d506
call fcn.0057d110
mov edx, dword [eax + 0xbec]
test edx, edx
je 0x499900
sub edx, 1
mov dword [eax + 0xbec], edx
add edi, 1
add esi, 0x1c
add ebx, 0x1c
cmp dword [ebp - 0x3a94], edi
je 0x499aad
mov dword [esp + 4], edi
mov dword [esp], 0x5a1e12
call fcn.00487aa0
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x2b1
mov eax, dword [esi]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], eax
cmp dword [ebx], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x2b2
mov eax, dword [esi + 4]
mov dword [esp + 4], str.got_cbData__Ix_n
mov dword [esp + 8], eax
cmp dword [ebx + 4], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x2b3
movzx edx, byte [esi + 8]
mov dword [esp + 4], str.got_cbOverhead__x_n
mov dword [esp + 8], edx
cmp byte [ebx + 8], dl
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
call fcn.0057d110
mov dword [eax], 0x5a0c14
mov dword [eax + 4], 0x2b4
movzx edx, byte [esi + 9]
mov dword [esp + 4], str.got_iRegionIndex__x_n
mov dword [esp + 8], edx
cmp byte [ebx + 9], dl
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
movzx eax, word [ebx + 0xa]
test ax, ax
jne 0x4998d0
mov eax, 0x2b6
call fcn.00487b80
movzx edx, word [esi + 0xa]
mov dword [esp + 4], str.got_wFlags__x_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
jmp 0x4998e8
mov eax, 0x2b8
call fcn.00487b80
movzx ecx, word [esi + 0xa]
mov eax, 1
cmp cx, 0x4011
je 0x499a61
mov eax, dword [0x8f0770]
test eax, eax
sete al
cmp cx, 0x411
sete dl
movzx edx, dl
and eax, edx
mov dword [esp + 8], ecx
mov dword [esp + 4], str.got_wFlags__x_n
mov dword [esp], eax
call fcn.00488240
jmp 0x4998e8
mov eax, 0x2bb
call fcn.00487b80
movzx ecx, word [esi + 0xa]
mov eax, 1
cmp cx, 0x1000
je 0x499a61
mov eax, dword [0x8f0770]
test eax, eax
sete al
cmp cx, 0x100
sete dl
movzx edx, dl
and eax, edx
jmp 0x499a61
mov eax, 0x2cc
call fcn.00487b80
movzx ecx, word [ebp - 0x1b92]
mov eax, 1
cmp cx, 4
je 0x499ade
mov eax, dword [0x8f0770]
test eax, eax
sete bl
xor eax, eax
cmp cx, 0x24
sete al
and eax, ebx
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], str.got_wFlags__x_n
call fcn.00488240
mov eax, 0x2cf
call fcn.00487b80
mov eax, dword [ebp - 0x1b9c]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], eax
mov edi, dword [ebp - 0x3aa4]
cmp eax, edi
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2d0
call fcn.00487b80
mov eax, dword [ebp - 0x1b98]
mov dword [esp + 4], str.got_cbData__lx_n
cmp eax, 0xa0000
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2d1
call fcn.00487b80
movzx edx, byte [ebp - 0x1b94]
mov dword [esp + 4], str.got_cbOverhead__x_n
mov eax, edx
mov dword [esp + 8], edx
test al, 0xdf
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2d3
call fcn.00487b80
movzx edx, byte [ebp - 0x1b93]
mov dword [esp + 4], str.got_iRegionIndex__d_n
cmp dl, 0x40
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
mov ebx, dword fs:[0x18]
call fcn.00488240
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov edi, dword [ebp - 0x3a88]
mov dword [esp], edi
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x2d6
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov ecx, dword [ebp - 0x3a98]
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [ebp - 0x3a88], edi
mov dword [esp], edi
mov eax, dword [ebp - 0x3a8c]
lea edi, [ebp - 0x1a4c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x2d8
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp], esi
lea esi, [ebp - 0x1c0c]
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov ecx, 0x15
mov dword [ebp - 0x3a44], 0xcdcdcdcd
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x3a88]
xor esi, esi
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a40], 0xcdcdcdcd
lea ebx, [ebp - 0x1c0c]
mov dword [ebp - 0x3a3c], 0xcdcdcdcd
mov dword [ebp - 0x3a38], 0xcdcdcdcd
mov dword [ebp - 0x3a34], 0xcdcdcdcd
mov dword [ebp - 0x3a30], 0xcdcdcdcd
mov dword [ebp - 0x3a48], 0
jmp 0x499cfd
mov eax, dword [ebp - 0x3a48]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a44]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a40]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a3c]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a38]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a34]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a30]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a48]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_HeapWalk]
sub esp, 8
test eax, eax
jne 0x499cb8
mov eax, 0x2e0
lea edi, [ebp - 0x1a4c]
call fcn.00487b80
mov ebx, dword fs:[0x18]
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x103
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2e1
call fcn.00487b80
xor eax, eax
cmp esi, 3
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2e2
call fcn.00487b80
lea eax, [ebp - 0x1c0c]
mov dword [esp + 8], 0x54
mov dword [esp + 4], eax
lea eax, [ebp - 0x1a4c]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.entries_differ_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], 0x7b
mov dword [esp + 4], 8
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov dword [ebp - 0x3a94], eax
mov eax, 0x2e5
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
lea esi, [ebp - 0x1c0c]
setne al
mov dword [esp], eax
call fcn.00488240
mov ecx, 0x15
mov dword [ebp - 0x3a44], 0xcdcdcdcd
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x3a88]
xor esi, esi
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a40], 0xcdcdcdcd
lea ebx, [ebp - 0x1c0c]
mov dword [ebp - 0x3a3c], 0xcdcdcdcd
mov dword [ebp - 0x3a38], 0xcdcdcdcd
mov dword [ebp - 0x3a34], 0xcdcdcdcd
mov dword [ebp - 0x3a30], 0xcdcdcdcd
mov dword [ebp - 0x3a48], 0
jmp 0x499ec5
mov eax, dword [ebp - 0x3a48]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a44]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a40]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a3c]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a38]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a34]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a30]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a48]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_HeapWalk]
sub esp, 8
test eax, eax
jne 0x499e80
mov eax, 0x2ed
lea edi, [ebp - 0x1a4c]
call fcn.00487b80
mov ebx, dword fs:[0x18]
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x103
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2ee
call fcn.00487b80
xor eax, eax
cmp esi, 4
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2ef
call fcn.00487b80
lea eax, [ebp - 0x1c0c]
mov dword [esp + 8], 0x1c
mov dword [esp + 4], eax
lea eax, [ebp - 0x1a4c]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.entries_differ_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2f0
call fcn.00487b80
lea eax, [ebp - 0x1bd4]
mov dword [esp + 8], 0x38
mov dword [esp + 4], eax
lea eax, [ebp - 0x1a30]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_memcmp]
mov dword [ebp - 0x3a98], eax
call eax
mov dword [esp + 4], str.entries_differ_n
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2f2
call fcn.00487b80
movzx edx, word [ebp - 0x1be6]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 4
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2f3
call fcn.00487b80
mov eax, dword [ebp - 0x1bf0]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], eax
mov ecx, dword [ebp - 0x3a94]
cmp eax, ecx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2f4
call fcn.00487b80
mov eax, dword [ebp - 0x1bec]
mov dword [esp + 4], str.got_cbData__lx_n
cmp eax, 0x7b
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2f5
call fcn.00487b80
movzx edx, byte [ebp - 0x1be8]
mov dword [esp + 4], str.got_cbOverhead__x_n
test dl, dl
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2f6
call fcn.00487b80
movzx edx, byte [ebp - 0x1be7]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2f8
call fcn.00487b80
movzx edx, word [ebp - 0x1bca]
mov dword [esp + 4], str.got_wFlags__x_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2f9
call fcn.00487b80
mov edx, dword [ebp - 0x1bd4]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x1bec]
movzx eax, byte [ebp - 0x1be8]
lea eax, [ecx + eax + 8]
add eax, dword [ebp - 0x1bf0]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2fb
call fcn.00487b80
mov eax, dword [ebp - 0x1bd0]
mov dword [esp + 4], str.got_cbData__lx_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2fc
call fcn.00487b80
movzx edx, byte [ebp - 0x1bcc]
mov dword [esp + 4], str.got_cbOverhead__x_n
cmp dl, 0x10
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2fd
call fcn.00487b80
movzx edx, byte [ebp - 0x1bcb]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2ff
call fcn.00487b80
movzx edx, word [ebp - 0x1bae]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x300
call fcn.00487b80
mov edx, dword [ebp - 0x1bb8]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x1c00]
add eax, dword [ebp - 0x1c0c]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x302
call fcn.00487b80
mov edx, dword [ebp - 0x1bb8]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], edx
movzx ecx, byte [ebp - 0x1bcc]
mov eax, dword [ebp - 0x1bd0]
lea eax, [eax + ecx*2]
add eax, dword [ebp - 0x1bd4]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x304
call fcn.00487b80
mov ecx, dword [ebp - 0x1bfc]
mov edx, dword [ebp - 0x1bb4]
mov dword [esp + 4], str.got_cbData__lx_n
lea eax, [ecx - 0x1000]
mov dword [esp + 8], edx
cmp eax, edx
sete al
cmp edx, ecx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x307
call fcn.00487b80
movzx edx, byte [ebp - 0x1bb0]
mov dword [esp + 4], str.got_cbOverhead__x_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x308
call fcn.00487b80
movzx edx, byte [ebp - 0x1baf]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], 0x1c8
mov dword [esp + 4], 8
mov eax, dword [ebp - 0x3a88]
mov dword [esp], eax
mov ecx, dword [ebp - 0x3a90]
call ecx
sub esp, 0xc
mov esi, eax
mov dword [ebp - 0x3a90], eax
mov eax, 0x30b
call fcn.00487b80
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.HeapAlloc_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
lea esi, [ebp - 0x1c0c]
setne al
mov dword [esp], eax
call fcn.00488240
mov ecx, 0x1c
mov dword [ebp - 0x3a44], 0xcdcdcdcd
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x3a88]
xor esi, esi
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a40], 0xcdcdcdcd
lea ebx, [ebp - 0x1c0c]
mov dword [ebp - 0x3a3c], 0xcdcdcdcd
mov dword [ebp - 0x3a38], 0xcdcdcdcd
mov dword [ebp - 0x3a34], 0xcdcdcdcd
mov dword [ebp - 0x3a30], 0xcdcdcdcd
mov dword [ebp - 0x3a48], 0
jmp 0x49a3ed
mov eax, dword [ebp - 0x3a48]
add esi, 1
add ebx, 0x1c
mov dword [ebx - 0x1c], eax
mov eax, dword [ebp - 0x3a44]
mov dword [ebx - 0x18], eax
mov eax, dword [ebp - 0x3a40]
mov dword [ebx - 0x14], eax
mov eax, dword [ebp - 0x3a3c]
mov dword [ebx - 0x10], eax
mov eax, dword [ebp - 0x3a38]
mov dword [ebx - 0xc], eax
mov eax, dword [ebp - 0x3a34]
mov dword [ebx - 8], eax
mov eax, dword [ebp - 0x3a30]
mov dword [ebx - 4], eax
lea eax, [ebp - 0x3a48]
mov dword [esp], edi
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_HeapWalk]
sub esp, 8
test eax, eax
jne 0x49a3a8
mov eax, 0x313
mov edi, dword fs:[0x18]
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x103
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x314
call fcn.00487b80
xor eax, eax
cmp esi, 5
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
mov dword [esp], eax
call fcn.00488240
mov eax, 0x315
call fcn.00487b80
lea eax, [ebp - 0x1c0c]
mov dword [esp + 8], 0x38
mov dword [esp + 4], eax
lea eax, [ebp - 0x1a4c]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.entries_differ_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x316
call fcn.00487b80
lea eax, [ebp - 0x1bb8]
mov dword [esp + 8], 0x38
mov dword [esp + 4], eax
lea eax, [ebp - 0x1a14]
mov dword [esp], eax
mov eax, dword [ebp - 0x3a98]
call eax
mov dword [esp + 4], str.entries_differ_n
mov dword [esp], eax
call fcn.00488240
mov eax, 0x318
call fcn.00487b80
movzx edx, word [ebp - 0x1bca]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 4
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x319
call fcn.00487b80
mov eax, dword [ebp - 0x1bd4]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], eax
mov ebx, dword [ebp - 0x3a90]
cmp eax, ebx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x31a
call fcn.00487b80
mov eax, dword [ebp - 0x1bd0]
mov dword [esp + 4], str.got_cbData__lx_n
cmp eax, 0x1c8
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x31b
call fcn.00487b80
movzx edx, byte [ebp - 0x1bcc]
mov dword [esp + 4], str.got_cbOverhead__x_n
test dl, dl
mov dword [esp + 8], edx
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x31c
call fcn.00487b80
movzx edx, byte [ebp - 0x1bcb]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x31e
call fcn.00487b80
movzx edx, word [ebp - 0x1bae]
mov dword [esp + 4], str.got_wFlags__x_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x31f
call fcn.00487b80
mov edx, dword [ebp - 0x1bb8]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], edx
mov ecx, dword [ebp - 0x1bd0]
movzx eax, byte [ebp - 0x1bcc]
lea eax, [ecx + eax + 8]
add eax, dword [ebp - 0x1bd4]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x321
call fcn.00487b80
mov eax, dword [ebp - 0x1bb4]
mov dword [esp + 4], str.got_cbData__lx_n
test eax, eax
mov dword [esp + 8], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x322
call fcn.00487b80
movzx edx, byte [ebp - 0x1bb0]
mov dword [esp + 4], str.got_cbOverhead__x_n
cmp dl, 0x10
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x323
call fcn.00487b80
movzx edx, byte [ebp - 0x1baf]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x325
call fcn.00487b80
movzx edx, word [ebp - 0x1b92]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x326
call fcn.00487b80
mov edx, dword [ebp - 0x1b9c]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], edx
mov eax, dword [ebp - 0x1c00]
add eax, dword [ebp - 0x1c0c]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x328
call fcn.00487b80
mov edx, dword [ebp - 0x1b9c]
mov dword [esp + 4], str.got_lpData__p_n
mov dword [esp + 8], edx
movzx ecx, byte [ebp - 0x1bb0]
mov eax, dword [ebp - 0x1bb4]
lea eax, [eax + ecx*2]
add eax, dword [ebp - 0x1bb8]
cmp edx, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x32a
call fcn.00487b80
mov ecx, dword [ebp - 0x1bfc]
mov edx, dword [ebp - 0x1b98]
mov dword [esp + 4], str.got_cbData__lx_n
lea eax, [ecx - 0x1000]
mov dword [esp + 8], edx
cmp eax, edx
sete al
cmp edx, ecx
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x32d
call fcn.00487b80
movzx edx, byte [ebp - 0x1b94]
mov dword [esp + 4], str.got_cbOverhead__x_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x32e
call fcn.00487b80
movzx edx, byte [ebp - 0x1b93]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov esi, dword [ebp - 0x3a88]
mov dword [esp], esi
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x331
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov ecx, dword [ebp - 0x3a94]
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x333
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapFree_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
lea eax, [ebp - 0x3a84]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a84], 0
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x3a80]
mov dword [esp + 0xc], 4
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [0x78e008]
sub esp, 0x14
mov ebx, eax
mov eax, 0x338
call fcn.00487b80
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.HeapQueryInformation_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x339
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x3e6
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x33a
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov dword [esp + 4], 0x5a1ef0
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
lea eax, [ebp - 0x3a84]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a84], 0
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov ebx, eax
mov eax, 0x33f
call fcn.00487b80
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.HeapQueryInformation_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x340
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x7a
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x341
call fcn.00487b80
mov eax, dword [ebp - 0x3a84]
mov dword [esp + 4], 0x5a1ef0
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov ebx, eax
mov eax, 0x345
call fcn.00487b80
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.HeapQueryInformation_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x346
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x7a
sete al
mov dword [esp], eax
call fcn.00488240
lea eax, [ebp - 0x3a80]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a80], 0xdeadbeef
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 5
mov dword [esp + 8], eax
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov ebx, eax
mov eax, 0x34b
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x34c
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_compat_info__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp], esi
mov eax, dword [ebp - 0x3aa0]
call eax
sub esp, 4
mov ebx, eax
mov eax, 0x34f
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov ecx, dword [ebp - 0x3aa8]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0x355
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x356
call fcn.00487b80
xor eax, eax
test bx, bx
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
lea edx, [ebp - 0x3a84]
mov dword [esp], ebx
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x3a80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov esi, eax
mov eax, 0x359
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x35a
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_HeapCompatibilityInformation__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
lea edx, [ebp - 0x3a80]
mov dword [ebp - 0x3a80], 2
mov dword [esp + 8], edx
mov dword [esp], ebx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e004]
sub esp, 0x10
mov esi, eax
mov eax, 0x35e
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapSetInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
lea edx, [ebp - 0x3a84]
mov dword [esp], ebx
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x3a80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov esi, eax
mov eax, 0x360
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x361
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_HeapCompatibilityInformation__lu_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
lea edx, [ebp - 0x3a80]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a80], 0
mov dword [esp + 8], edx
mov dword [esp], ebx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e004]
sub esp, 0x10
mov esi, eax
mov eax, 0x368
call fcn.00487b80
xor eax, eax
test esi, esi
mov dword [esp + 4], str.HeapSetInformation_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x369
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x1f
sete al
mov dword [esp], eax
call fcn.00488240
lea edx, [ebp - 0x3a80]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a80], 1
mov dword [esp + 8], edx
mov dword [esp], ebx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e004]
sub esp, 0x10
mov esi, eax
mov eax, 0x36d
call fcn.00487b80
xor eax, eax
test esi, esi
mov dword [esp + 4], str.HeapSetInformation_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x36e
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x1f
sete al
mov dword [esp], eax
call fcn.00488240
lea edx, [ebp - 0x3a84]
mov dword [esp], ebx
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x3a80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov esi, eax
mov eax, 0x370
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x371
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_HeapCompatibilityInformation__lu_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp], ebx
mov eax, dword [ebp - 0x3aa0]
call eax
sub esp, 4
mov ebx, eax
mov eax, 0x374
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 1
mov ecx, dword [ebp - 0x3aa8]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0x37a
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x37b
call fcn.00487b80
xor eax, eax
test bx, bx
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
lea edx, [ebp - 0x3a84]
mov dword [esp], ebx
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x3a80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov esi, eax
mov eax, 0x37e
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x37f
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_HeapCompatibilityInformation__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
lea edx, [ebp - 0x3a80]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [ebp - 0x3a80], 2
mov dword [esp + 8], edx
mov dword [esp], ebx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e004]
sub esp, 0x10
mov esi, eax
mov eax, 0x384
call fcn.00487b80
xor eax, eax
test esi, esi
mov dword [esp + 4], str.HeapSetInformation_succeeded_n
sete al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x385
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], eax
xor eax, eax
cmp dword [edi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.00488240
lea edx, [ebp - 0x3a84]
mov dword [esp], ebx
mov dword [esp + 0x10], edx
lea edx, [ebp - 0x3a80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 4
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov esi, eax
mov eax, 0x387
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x388
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_HeapCompatibilityInformation__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp], ebx
mov eax, dword [ebp - 0x3aa0]
call eax
sub esp, 4
mov ebx, eax
mov eax, 0x38b
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov ecx, dword [ebp - 0x3aa8]
call ecx
sub esp, 0xc
mov ebx, eax
mov eax, 0x391
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x392
call fcn.00487b80
xor eax, eax
test bx, bx
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
lea eax, [ebp - 0x3a84]
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x3a80]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x78e008]
sub esp, 0x14
mov esi, eax
mov eax, 0x395
call fcn.00487b80
mov eax, dword [edi + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x396
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_HeapCompatibilityInformation__lu_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov esi, dword [ebp - 0x3a9c]
lea edi, [esi + 0x48]
mov dword [ebp - 0x3a88], edi
lea esi, [esi]
mov dword [esp + 8], 0
add esi, 4
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x78e034]
mov dword [esi - 4], eax
sub esp, 0xc
cmp edi, esi
jne 0x49b1e0
mov esi, dword [ebp - 0x3a9c]
mov edi, dword [ebp - 0x3a88]
lea esi, [esi]
mov eax, dword [esi]
mov dword [esp + 4], 0
add esi, 4
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
cmp esi, edi
jne 0x49b218
lea eax, [ebp - 0x3a84]
mov dword [esp], ebx
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x3a80]
mov dword [esp + 0xc], 4
mov dword [esp + 8], eax
mov dword [esp + 4], 0
call dword [0x78e008]
sub esp, 0x14
mov edi, eax
mov eax, 0x39c
call fcn.00487b80
mov esi, dword fs:[0x18]
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x39d
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_HeapCompatibilityInformation__lu_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov dword [esp], ebx
mov eax, dword [ebp - 0x3aa0]
call eax
sub esp, 4
mov ebx, eax
mov eax, 0x3a0
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.HeapDestroy_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [ebp - 0x3aa8]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x3a6
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp + 4], str.HeapCreate_failed__error__lu_n
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3a7
call fcn.00487b80
xor eax, eax
test bx, bx
mov dword [esp + 4], str.wrong_heap_alignment_n
sete al
mov dword [esp], eax
call fcn.00488240
lea eax, [ebp - 0x3a80]
mov dword [ebp - 0x3a80], 2
mov dword [esp + 0xc], 4
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x78e004]
sub esp, 0x10
mov edi, eax
mov eax, 0x3ab
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.HeapSetInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
lea eax, [ebp - 0x3a84]
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x3a80]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x78e008]
sub esp, 0x14
mov edi, eax
mov eax, 0x3ad
call fcn.00487b80
mov eax, dword [esi + 0x34]
mov dword [esp], edi
mov dword [esp + 4], str.HeapQueryInformation_failed__error__lu_n
mov dword [esp + 8], eax
call fcn.00488240
mov eax, 0x3ae
call fcn.00487b80
mov eax, dword [ebp - 0x3a80]
mov dword [esp + 4], str.got_HeapCompatibilityInformation__lu_n
cmp eax, 2
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov edi, dword [ebp - 0x3a9c]
lea esi, [edi + 0x44]
lea esi, [esi]
mov dword [esp + 8], 0x20
add edi, 4
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x78e034]
mov dword [edi - 4], eax
sub esp, 0xc
cmp esi, edi
jne 0x49b440
mov edi, dword [ebp - 0x3a9c]
lea esi, [esi]
mov eax, dword [edi]
mov dword [esp + 4], 0
add edi, 4
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
cmp edi, esi
jne 0x49b470
mov eax, 0xcdcdcdcd
mov ecx, 0x700
xor esi, esi
mov dword [ebp - 0x3a44], 0xcdcdcdcd
mov dword [ebp - 0x3a40], 0xcdcdcdcd
lea edi, [ebp - 0x1c0c]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x1c0c]
mov dword [ebp - 0x3a3c], 0xcdcdcdcd
mov eax, dword fs:[0x18]
mov dword [ebp - 0x3a38], 0xcdcdcdcd
mov dword [ebp - 0x3a34], 0xcdcdcdcd
mov dword [ebp - 0x3a30], 0xcdcdcdcd
mov dword [ebp - 0x3a48], 0
mov dword [eax + 0x34], 0xdeadbeef
jmp 0x49b54d
mov eax, dword [ebp - 0x3a48]
add esi, 1
add edi, 0x1c
mov dword [edi - 0x1c], eax
mov eax, dword [ebp - 0x3a44]
mov dword [edi - 0x18], eax
mov eax, dword [ebp - 0x3a40]
mov dword [edi - 0x14], eax
mov eax, dword [ebp - 0x3a3c]
mov dword [edi - 0x10], eax
mov eax, dword [ebp - 0x3a38]
mov dword [edi - 0xc], eax
mov eax, dword [ebp - 0x3a34]
mov dword [edi - 8], eax
mov eax, dword [ebp - 0x3a30]
mov dword [edi - 4], eax
lea eax, [ebp - 0x3a48]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_HeapWalk]
sub esp, 8
test eax, eax
jne 0x49b508
mov eax, 0x3b9
call fcn.00487b80
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov dword [esp + 4], 0x5a0e90
mov dword [esp + 8], edx
cmp dword [eax + 0x34], 0x103
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3ba
call fcn.00487b80
xor eax, eax
cmp esi, 3
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], 0x5a1daa
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3bc
call fcn.00487b80
movzx edx, word [ebp - 0x1c02]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 1
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3bd
call fcn.00487b80
mov eax, dword [ebp - 0x1c0c]
mov dword [esp + 4], str.got_lpData__p_n
cmp eax, ebx
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3be
call fcn.00487b80
mov eax, dword [ebp - 0x1c08]
mov dword [esp + 4], str.got_cbData__lx_n
cmp eax, 0x1000
mov dword [esp + 8], eax
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3bf
call fcn.00487b80
movzx edx, byte [ebp - 0x1c04]
mov dword [esp + 4], str.got_cbOverhead__x_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3c0
call fcn.00487b80
movzx edx, byte [ebp - 0x1c03]
mov dword [esp + 4], str.got_iRegionIndex__d_n
test dl, dl
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3c1
call fcn.00487b80
movzx edx, word [ebp - 0x1be6]
mov dword [esp + 4], str.got_wFlags__x_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x3c2
call fcn.00487b80
movzx edx, word [ebp - 0x1bca]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov esi, dword [ebp - 0x3a9c]
mov edi, dword [ebp - 0x3a88]
nop
mov dword [esp + 8], 0x20
add esi, 4
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x78e034]
mov dword [esi - 4], eax
sub esp, 0xc
cmp esi, edi
jne 0x49b710
mov esi, dword [ebp - 0x3a9c]
mov edi, dword [ebp - 0x3a88]
lea esi, [esi]
mov eax, dword [esi]
mov dword [esp + 4], 0
add esi, 4
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3a8c]
call eax
sub esp, 0xc
cmp esi, edi
jne 0x49b748
mov eax, 0xcdcdcdcd
mov ecx, 0x700
xor esi, esi
mov dword [ebp - 0x3a44], 0xcdcdcdcd
mov dword [ebp - 0x3a40], 0xcdcdcdcd
lea edi, [ebp - 0x1c0c]
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x1c0c]
mov dword [ebp - 0x3a3c], 0xcdcdcdcd
mov eax, dword fs:[0x18]
mov dword [ebp - 0x3a38], 0xcdcdcdcd
mov dword [ebp - 0x3a34], 0xcdcdcdcd
mov dword [ebp - 0x3a30], 0xcdcdcdcd
mov dword [ebp - 0x3a48], 0
mov dword [eax + 0x34], 0xdeadbeef
jmp 0x49b825
lea eax, [ebp - 0x3a48]
mov dword [esp], ebx
mov dword [esp + 4], eax
call dword [sym.imp.kernel32.dll_HeapWalk]
sub esp, 8
test eax, eax
jne 0x49b7e0
mov eax, 0x2bf
call fcn.00487b80
movzx edx, word [esi + 0xa]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2c0
call fcn.00487b80
mov eax, dword [esi + 0xc]
mov dword [esp + 4], str.got_Region.dwCommittedSize__lx_n
mov dword [esp + 8], eax
cmp dword [ebx + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2c2
call fcn.00487b80
mov eax, dword [esi + 0x10]
mov dword [esp + 4], str.got_Region.dwUnCommittedSize__lx_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x10], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2c4
call fcn.00487b80
mov eax, dword [esi + 0x14]
mov dword [esp + 4], str.got_Region.lpFirstBlock__p_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x14], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x2c6
call fcn.00487b80
mov eax, dword [esi + 0x18]
mov dword [esp + 4], str.got_Region.lpLastBlock__p_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x18], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
jmp 0x4998e8
mov eax, 0x283
call fcn.00487b80
movzx edx, word [esi + 0xa]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x284
call fcn.00487b80
mov eax, dword [esi + 0xc]
mov dword [esp + 4], str.got_Region.dwCommittedSize__lx_n
mov dword [esp + 8], eax
cmp dword [ebx + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x286
call fcn.00487b80
mov eax, dword [esi + 0x10]
mov dword [esp + 4], str.got_Region.dwUnCommittedSize__lx_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x10], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x288
call fcn.00487b80
mov eax, dword [esi + 0x14]
mov dword [esp + 4], str.got_Region.lpFirstBlock__p_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x14], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x28a
call fcn.00487b80
mov eax, dword [esi + 0x18]
mov dword [esp + 4], str.got_Region.lpLastBlock__p_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x18], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
jmp 0x499318
mov eax, 0x22d
call fcn.00487b80
movzx edx, word [esi + 0xa]
mov dword [esp + 4], str.got_wFlags__x_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x22e
call fcn.00487b80
mov eax, dword [esi + 0xc]
mov dword [esp + 4], str.got_Region.dwCommittedSize__lx_n
mov dword [esp + 8], eax
cmp dword [ebx + 0xc], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x230
call fcn.00487b80
mov eax, dword [esi + 0x10]
mov dword [esp + 4], str.got_Region.dwUnCommittedSize__lx_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x10], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x232
call fcn.00487b80
mov eax, dword [esi + 0x14]
mov dword [esp + 4], str.got_Region.lpFirstBlock__p_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x14], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
mov eax, 0x234
call fcn.00487b80
mov eax, dword [esi + 0x18]
mov dword [esp + 4], str.got_Region.lpLastBlock__p_n
mov dword [esp + 8], eax
cmp dword [ebx + 0x18], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00488240
jmp 0x4989e8
xor ecx, ecx
cmp byte [edi], 0
sete cl
jmp 0x4985cf
xor eax, eax
cmp byte [esi], 0
sete al
jmp 0x4984c8
xor eax, eax
cmp byte [ebx], 0
sete al
jmp 0x497744
xor eax, eax
cmp byte [esi], 0
sete al
jmp 0x4975fc
mov dword [ebp - 0x3a84], eax
jmp 0x49772a
mov dword [ebp - 0x3a84], eax
jmp 0x4984a2
mov dword [ebp - 0x3a84], eax
jmp 0x497872
mov dword [ebp - 0x3a84], eax
jmp 0x4975e2