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

Disassembly:
sub esp, 0xc4
push ebx
mov ebx, dword [esp + 0xd0]
xor eax, eax
push ebp
mov ebp, dword [esp + 0xd0]
push esi
mov esi, edx
mov dword [esp + 0x1c], eax
mov edx, ecx
mov dword [esp + 0x24], eax
push edi
push dword [esp + 0xe4]
mov dword [esp + 0x38], eax
xor ecx, ecx
mov dword [edx], eax
mov ecx, esi
mov dword [ebp], eax
mov dword [esi], eax
mov eax, dword [esp + 0xe4]
push eax
mov dword [esp + 0x38], edx
mov edx, ebp
push ebx
mov dword [esp + 0x30], esi
mov byte [esp + 0x23], 0
mov dword [esp + 0x38], 1
call fcn.00495981
add esp, 0xc
mov dword [ebx + 0x190], eax
test eax, eax
jne 0x496919
mov ebp, dword [ebp]
lea edi, [ebx + 0xa4]
mov esi, dword [esi]
mov ecx, dword [ebx + 0x78]
call fcn.00495624
mov ecx, dword [edi]
mov edx, eax
imul edx, dword [ebx + 0x7c]
call fcn.00495624
mov ebx, eax
imul ebx, dword [edi + 4]
cmp ebx, edx
ja 0x495cf0
mov ebx, edx
mov ecx, esi
imul ecx, ebp
test esi, esi
je 0x495d07
xor edx, edx
mov eax, ecx
div esi
cmp eax, ebp
jne 0x496908
test ecx, ecx
je 0x495d1f
xor edx, edx
lea eax, [ecx*8]
div ecx
cmp eax, 8
jne 0x496908
mov edi, esi
shr edi, 3
mov ecx, edi
imul ecx, ebx
test edi, edi
je 0x495d3b
xor edx, edx
mov eax, ecx
div edi
cmp eax, ebx
jne 0x496908
and esi, 7
mov eax, ecx
imul esi, ebx
add esi, 7
shr esi, 3
add ecx, esi
cmp ecx, eax
jb 0x496908
mov eax, ecx
add ecx, 5
cmp ecx, eax
jb 0x496908
test ecx, ecx
je 0x495d75
mov eax, ecx
xor edx, edx
imul eax, ebp
div ecx
cmp eax, ebp
jne 0x496908
mov ebx, dword [esp + 0xe4]
lea eax, [ebx + 4]
test eax, eax
je 0x4968ec
push eax
push 8
push dword [0x4cefc8]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x4968ec
mov dword [edi], ebx
mov ecx, ebx
add edi, 4
mov edx, edi
mov dword [esp + 0x1c], edi
call fcn.004c4e70
test edi, edi
je 0x4968ec
mov eax, dword [esp + 0xe0]
mov ebp, dword [esp + 0xdc]
lea esi, [eax + 0x21]
lea ecx, [ecx]
cmp dword [ebp + 0x190], 0
jne 0x496489
mov ecx, esi
sub ecx, eax
cmp esi, eax
jb 0x496479
lea eax, [ecx + 0xc]
cmp eax, ebx
ja 0x496479
movzx eax, byte [esi]
movzx edx, byte [esi + 1]
shl eax, 8
or edx, eax
movzx eax, byte [esi + 2]
shl edx, 8
or edx, eax
movzx eax, byte [esi + 3]
shl edx, 8
or edx, eax
cmp edx, 0x7fffffff
ja 0x496467
lea eax, [ecx + 0xc]
add eax, edx
cmp eax, ebx
ja 0x49645b
cmp eax, ecx
jb 0x49645b
xor ecx, ecx
lea ebx, [esi + 8]
mov dword [esp + 0x18], ecx
mov eax, str.IDAT
inc eax
cmp byte [eax], cl
jne 0x495e43
sub eax, str.IDAT
cmp eax, 4
jne 0x495eaa
cmp byte [esi + 4], 0x49
jne 0x495eaa
cmp byte [esi + 5], 0x44
jne 0x495eaa
cmp byte [esi + 6], 0x41
jne 0x495eaa
cmp byte [esi + 7], 0x54
jne 0x495eaa
mov ecx, dword [esp + 0x20]
lea edi, [edx + ecx]
cmp edi, ecx
jb 0x496407
cmp edi, dword [esp + 0xe4]
ja 0x496407
add ecx, dword [esp + 0x1c]
push edx
mov edx, ebx
call fcn.004955f4
mov dword [esp + 0x24], edi
add esp, 4
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2c], 3
jmp 0x4963bc
mov eax, str.IEND
lea ecx, [ecx]
inc eax
cmp byte [eax], cl
jne 0x495eb2
sub eax, str.IEND
cmp eax, 4
jne 0x495ee4
cmp byte [esi + 4], 0x49
jne 0x495ee4
cmp byte [esi + 5], 0x45
jne 0x495ee4
cmp byte [esi + 6], 0x4e
jne 0x495ee4
cmp byte [esi + 7], 0x44
jne 0x495ee4
mov bl, 1
mov byte [esp + 0x17], bl
jmp 0x4963c4
mov eax, str.PLTE
inc eax
cmp byte [eax], cl
jne 0x495ee9
sub eax, str.PLTE
cmp eax, 4
jne 0x495f3c
cmp byte [esi + 4], 0x50
jne 0x495f3c
cmp byte [esi + 5], 0x4c
jne 0x495f3c
cmp byte [esi + 6], 0x54
jne 0x495f3c
cmp byte [esi + 7], 0x45
jne 0x495f3c
push edx
mov edx, ebx
lea ecx, [ebp + 0xa4]
call fcn.00495571
add esp, 4
mov dword [ebp + 0x190], eax
test eax, eax
jne 0x496489
mov dword [esp + 0x2c], 2
jmp 0x4963bc
mov eax, str.tRNS
nop
inc eax
cmp byte [eax], cl
jne 0x495f42
sub eax, str.tRNS
cmp eax, 4
jne 0x495f7c
cmp byte [esi + 4], 0x74
jne 0x495f7c
cmp byte [esi + 5], 0x52
jne 0x495f7c
cmp byte [esi + 6], 0x4e
jne 0x495f7c
cmp byte [esi + 7], 0x53
jne 0x495f7c
push edx
mov edx, ebx
lea ecx, [ebp + 0xa4]
call fcn.0049542e
jmp 0x4963ab
mov eax, str.bKGD
nop
inc eax
cmp byte [eax], cl
jne 0x495f82
sub eax, str.bKGD
cmp eax, 4
jne 0x495fbc
cmp byte [esi + 4], 0x62
jne 0x495fbc
cmp byte [esi + 5], 0x4b
jne 0x495fbc
cmp byte [esi + 6], 0x47
jne 0x495fbc
cmp byte [esi + 7], 0x44
jne 0x495fbc
push edx
lea ecx, [ebp + 0x98]
mov edx, ebx
call fcn.00495366
jmp 0x4963ab
mov eax, str.tEXt
nop
inc eax
cmp byte [eax], cl
jne 0x495fc2
sub eax, str.tEXt
cmp eax, 4
jne 0x496005
cmp byte [esi + 4], 0x74
jne 0x496005
cmp byte [esi + 5], 0x45
jne 0x496005
cmp byte [esi + 6], 0x58
jne 0x496005
cmp byte [esi + 7], 0x74
jne 0x496005
cmp dword [ebp + 0x28], ecx
je 0x4963c0
push edx
lea ecx, [ebp + 0x98]
mov edx, ebx
call fcn.0049520e
jmp 0x4963ab
mov eax, str.zTXt
inc eax
cmp byte [eax], cl
jne 0x49600a
sub eax, str.zTXt
cmp eax, 4
jne 0x496051
cmp byte [esi + 4], 0x7a
jne 0x496051
cmp byte [esi + 5], 0x54
jne 0x496051
cmp byte [esi + 6], 0x58
jne 0x496051
cmp byte [esi + 7], 0x74
jne 0x496051
cmp dword [ebp + 0x28], ecx
je 0x4963c0
push edx
push ebx
lea ecx, [ebp + 0x98]
mov edx, ebp
call fcn.00494e19
add esp, 8
jmp 0x4963ae
mov eax, str.iTXt
inc eax
cmp byte [eax], cl
jne 0x496056
sub eax, str.iTXt
cmp eax, 4
jne 0x49609d
cmp byte [esi + 4], 0x69
jne 0x49609d
cmp byte [esi + 5], 0x54
jne 0x49609d
cmp byte [esi + 6], 0x58
jne 0x49609d
cmp byte [esi + 7], 0x74
jne 0x49609d
cmp dword [ebp + 0x28], ecx
je 0x4963c0
push edx
push ebx
lea ecx, [ebp + 0x98]
mov edx, ebp
call fcn.0049305d
add esp, 8
jmp 0x4963ae
mov eax, str.tIME
inc eax
cmp byte [eax], cl
jne 0x4960a2
sub eax, str.tIME
cmp eax, 4
jne 0x496137
cmp byte [esi + 4], 0x74
jne 0x496137
cmp byte [esi + 5], 0x49
jne 0x496137
cmp byte [esi + 6], 0x4d
jne 0x496137
cmp byte [esi + 7], 0x45
jne 0x496137
mov dword [esp + 0x1c], edi
cmp edx, 7
jne 0x496413
mov dword [ebp + 0xf4], 1
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
shl ecx, 8
add ecx, eax
mov dword [ebp + 0xf8], ecx
movzx eax, byte [ebx + 2]
mov dword [ebp + 0xfc], eax
movzx eax, byte [ebx + 3]
mov dword [ebp + 0x100], eax
movzx eax, byte [ebx + 4]
mov dword [ebp + 0x104], eax
movzx eax, byte [ebx + 5]
mov dword [ebp + 0x108], eax
movzx eax, byte [ebx + 6]
mov dword [ebp + 0x10c], eax
mov dword [ebp + 0x190], 0
jmp 0x4963bc
mov eax, str.pHYs
lea ebx, [ebx]
inc eax
cmp byte [eax], cl
jne 0x496142
sub eax, str.pHYs
cmp eax, 4
jne 0x4961ee
cmp byte [esi + 4], 0x70
jne 0x4961ee
cmp byte [esi + 5], 0x48
jne 0x4961ee
cmp byte [esi + 6], 0x59
jne 0x4961ee
cmp byte [esi + 7], 0x73
jne 0x4961ee
mov dword [esp + 0x1c], edi
cmp edx, 9
jne 0x49641f
mov dword [ebp + 0x110], 1
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 8
add ecx, eax
mov dword [ebp + 0x114], ecx
movzx ecx, byte [ebx + 4]
movzx eax, byte [ebx + 5]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebx + 6]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebx + 7]
shl ecx, 8
add ecx, eax
mov dword [ebp + 0x118], ecx
movzx eax, byte [ebx + 8]
mov dword [ebp + 0x11c], eax
mov dword [ebp + 0x190], 0
jmp 0x4963bc
mov eax, str.gAMA
inc eax
cmp byte [eax], cl
jne 0x4961f3
sub eax, str.gAMA
cmp eax, 4
jne 0x496263
cmp byte [esi + 4], 0x67
jne 0x496263
cmp byte [esi + 5], 0x41
jne 0x496263
cmp byte [esi + 6], 0x4d
jne 0x496263
cmp byte [esi + 7], 0x41
jne 0x496263
mov dword [esp + 0x1c], edi
cmp edx, eax
jne 0x49642b
mov dword [ebp + 0x120], 1
movzx ecx, byte [ebx]
movzx eax, byte [ebx + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebx + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebx + 3]
shl ecx, 8
add ecx, eax
mov dword [ebp + 0x124], ecx
mov dword [ebp + 0x190], 0
jmp 0x4963bc
mov eax, str.cHRM
inc eax
cmp byte [eax], cl
jne 0x496268
sub eax, str.cHRM
cmp eax, 4
jne 0x4962a2
cmp byte [esi + 4], 0x63
jne 0x4962a2
cmp byte [esi + 5], 0x48
jne 0x4962a2
cmp byte [esi + 6], 0x52
jne 0x4962a2
cmp byte [esi + 7], 0x4d
jne 0x4962a2
push edx
lea ecx, [ebp + 0x98]
mov edx, ebx
call fcn.00492b81
jmp 0x4963ab
mov eax, str.sRGB
inc eax
cmp byte [eax], cl
jne 0x4962a7
sub eax, str.sRGB
cmp eax, 4
jne 0x4962f5
cmp byte [esi + 4], 0x73
jne 0x4962f5
cmp byte [esi + 5], 0x52
jne 0x4962f5
cmp byte [esi + 6], 0x47
jne 0x4962f5
cmp byte [esi + 7], 0x42
jne 0x4962f5
mov dword [esp + 0x1c], edi
cmp edx, 1
jne 0x496437
mov dword [ebp + 0x14c], edx
movzx eax, byte [ebx]
mov dword [ebp + 0x150], eax
mov dword [ebp + 0x190], ecx
jmp 0x4963c0
mov eax, str.iCCP
inc eax
cmp byte [eax], cl
jne 0x4962fa
sub eax, str.iCCP
cmp eax, 4
jne 0x496335
cmp byte [esi + 4], 0x69
jne 0x496335
cmp byte [esi + 5], 0x43
jne 0x496335
cmp byte [esi + 6], 0x43
jne 0x496335
cmp byte [esi + 7], 0x50
jne 0x496335
push edx
push ebx
lea ecx, [ebp + 0x98]
mov edx, ebp
call fcn.0049298f
add esp, 8
jmp 0x4963ae
mov eax, str.sBIT
inc eax
cmp byte [eax], cl
jne 0x49633a
sub eax, str.sBIT
cmp eax, 4
jne 0x496371
cmp byte [esi + 4], 0x73
jne 0x496371
cmp byte [esi + 5], 0x42
jne 0x496371
cmp byte [esi + 6], 0x49
jne 0x496371
cmp byte [esi + 7], 0x54
jne 0x496371
push edx
lea ecx, [ebp + 0x98]
mov edx, ebx
call fcn.004927a5
jmp 0x4963ab
cmp dword [ebp + 0x1c], ecx
jne 0x496380
test byte [esi + 4], 0x20
je 0x496443
cmp dword [ebp + 0x2c], 0
mov ecx, 1
mov dword [esp + 0x18], ecx
je 0x4963c0
mov ebx, dword [esp + 0x2c]
push esi
lea edx, [ebx*4 + 0x180]
lea ecx, [ebx*4 + 0x174]
add edx, ebp
add ecx, ebp
call fcn.0049266f
add esp, 4
mov dword [ebp + 0x190], eax
test eax, eax
jne 0x496489
mov ecx, dword [esp + 0x18]
mov bl, byte [esp + 0x17]
cmp dword [ebp + 0x18], 0
jne 0x4963d9
test ecx, ecx
jne 0x4963d9
mov ecx, esi
call fcn.004925f7
test eax, eax
jne 0x49644f
test bl, bl
jne 0x496489
mov ebx, dword [esp + 0xe4]
mov ecx, esi
mov edx, dword [esp + 0xe0]
lea edx, [edx + ebx]
call fcn.0049257d
mov esi, eax
mov eax, dword [esp + 0xe0]
jmp 0x495dd2
mov dword [ebp + 0x190], 0x5f
jmp 0x496489
mov dword [ebp + 0x190], 0x49
jmp 0x496489
mov dword [ebp + 0x190], 0x4a
jmp 0x496489
mov dword [ebp + 0x190], 0x60
jmp 0x496489
mov dword [ebp + 0x190], 0x62
jmp 0x496489
mov dword [ebp + 0x190], 0x45
jmp 0x496489
mov dword [ebp + 0x190], 0x39
jmp 0x496489
mov dword [ebp + 0x190], 0x40
jmp 0x496489
cmp dword [ebp + 0x20], 0
jne 0x496489
mov dword [ebp + 0x190], 0x3f
jmp 0x496489
cmp dword [ebp + 0x20], 0
jne 0x496489
mov dword [ebp + 0x190], 0x1e
mov ecx, dword [ebp + 0x190]
lea edi, [ebp + 0xa4]
mov eax, ecx
test ecx, ecx
jne 0x4964b7
cmp dword [edi], 3
jne 0x4964b7
cmp dword [ebp + 0xac], ecx
jne 0x4964b7
mov dword [ebp + 0x190], 0x6a
jmp 0x496672
test eax, eax
jne 0x49665c
mov eax, dword [esp + 0x24]
mov ecx, dword [edi]
mov edx, dword [eax]
mov eax, dword [esp + 0xd8]
mov ebx, dword [eax]
call fcn.00495624
cmp dword [ebp + 0xa0], 0
jne 0x496503
imul eax, dword [edi + 4]
mov ecx, edx
and ecx, 7
shr edx, 3
imul ecx, eax
imul edx, eax
add ecx, 7
shr ecx, 3
lea esi, [edx + 1]
add esi, ecx
imul esi, ebx
jmp 0x496638
mov esi, eax
lea ecx, [edx + 7]
imul esi, dword [edi + 4]
lea ebp, [ebx + 7]
shr ecx, 3
lea edi, [edx + 3]
mov eax, ecx
shr ebp, 3
and eax, 7
shr ecx, 3
imul eax, esi
imul ecx, esi
add eax, 7
shr eax, 3
inc eax
add eax, ecx
imul eax, ebp
mov dword [esp + 0x18], eax
cmp edx, 4
jbe 0x49655e
mov ecx, edi
shr ecx, 3
mov eax, ecx
shr ecx, 3
and eax, 7
imul ecx, esi
imul eax, esi
add eax, 7
shr eax, 3
inc eax
add eax, ecx
imul eax, ebp
add dword [esp + 0x18], eax
shr edi, 2
lea ebp, [ebx + 3]
mov ecx, edi
mov eax, ebp
and ecx, 7
shr edi, 3
imul ecx, esi
imul edi, esi
shr eax, 3
add ecx, 7
shr ecx, 3
inc ecx
add ecx, edi
imul ecx, eax
add dword [esp + 0x18], ecx
cmp edx, 2
jbe 0x4965b7
lea ecx, [edx + 1]
shr ebp, 2
shr ecx, 2
mov eax, ecx
shr ecx, 3
and eax, 7
imul ecx, esi
imul eax, esi
add eax, 7
shr eax, 3
inc eax
add eax, ecx
imul eax, ebp
mov ebp, dword [esp + 0x18]
add ebp, eax
jmp 0x4965bb
mov ebp, dword [esp + 0x18]
lea ecx, [edx + 1]
shr ecx, 1
lea edi, [ebx + 1]
mov eax, ecx
shr ecx, 3
and eax, 7
imul ecx, esi
imul eax, esi
add eax, 7
shr eax, 3
inc eax
add ecx, eax
mov eax, edi
shr eax, 2
imul ecx, eax
add ebp, ecx
cmp edx, 1
jbe 0x49660b
mov ecx, edx
shr edi, 1
shr ecx, 1
mov eax, ecx
shr ecx, 3
and eax, 7
imul ecx, esi
imul eax, esi
add eax, 7
shr eax, 3
inc eax
add eax, ecx
imul eax, edi
add ebp, eax
mov eax, edx
shr ebx, 1
and eax, 7
shr edx, 3
imul eax, esi
imul edx, esi
add eax, 7
shr eax, 3
inc eax
add eax, edx
imul eax, ebx
add ebp, eax
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0xdc]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x34]
push ebp
push eax
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x30]
push eax
push esi
call fcn.00494d77
add esp, 0x10
mov dword [ebp + 0x190], eax
jmp 0x49665e
xor esi, esi
test eax, eax
jne 0x496672
cmp dword [esp + 0x34], esi
je 0x496672
mov dword [ebp + 0x190], 0x5b
mov eax, dword [esp + 0x1c]
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
add eax, 0xfffffffc
push eax
push 0
push dword [0x4cefc8]
call ebx
mov eax, dword [ebp + 0x190]
test eax, eax
jne 0x496738
mov ecx, dword [ebp + 0xa4]
call fcn.00495624
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xd8]
imul eax, dword [ebp + 0xa8]
mov ecx, dword [ecx]
imul ecx, dword [edx]
mov edi, ecx
shr ecx, 3
and edi, 7
imul ecx, eax
imul edi, eax
add edi, 7
shr edi, 3
add edi, ecx
lea eax, [edi + 4]
test eax, eax
jne 0x4966f0
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x190], 0x53
mov dword [eax], 0
jmp 0x4968cb
push eax
push 8
push dword [0x4cefc8]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov eax, dword [ebp + 0x190]
test esi, esi
je 0x49671f
mov dword [esi], edi
mov ecx, edi
add esi, 4
mov edx, esi
call fcn.004c4e70
mov eax, dword [ebp + 0x190]
mov ecx, dword [esp + 0x30]
mov dword [ecx], esi
test esi, esi
jne 0x49673e
mov dword [ebp + 0x190], 0x53
jmp 0x4968cb
mov ecx, dword [esp + 0x30]
xor edi, edi
test eax, eax
jne 0x4968cb
mov edx, dword [ecx]
mov ecx, edi
call fcn.004c4e70
mov eax, dword [esp + 0xd8]
mov esi, dword [esp + 0xdc]
mov ebp, dword [esp + 0x28]
mov ebx, dword [eax]
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 0xa4]
mov dword [esp + 0x20], ebx
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], edx
mov eax, dword [eax]
mov dword [esp + 0x24], eax
call fcn.00495624
mov edi, eax
imul edi, dword [esi + 0xa8]
test edi, edi
jne 0x49679b
lea eax, [edi + 0x1f]
jmp 0x4968b8
cmp dword [esi + 0xa0], 0
jne 0x49680c
cmp edi, 8
jae 0x4967ec
mov esi, edi
imul esi, edx
lea ebx, [esi + 7]
and ebx, 0xfffffff8
cmp esi, ebx
je 0x4967e8
push edi
mov edi, dword [esp + 0x24]
push edi
push edx
mov edx, dword [esp + 0x34]
mov ecx, edx
call fcn.00492503
add esp, 0xc
test eax, eax
jne 0x4968b8
mov ecx, dword [esp + 0x24]
mov edx, ebp
push edi
push ebx
push esi
call fcn.004916b6
jmp 0x4968b3
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push edi
push ebx
push edx
mov edx, dword [esp + 0x34]
call fcn.00492503
add esp, 0xc
test eax, eax
je 0x4968b6
jmp 0x4968b8
push edi
push ebx
push edx
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0xa4]
push eax
lea edx, [esp + 0x50]
lea ecx, [esp + 0x6c]
call fcn.00491523
add esp, 0x18
xor esi, esi
jmp 0x496842
mov eax, dword [esp + esi + 0x70]
mov edx, dword [esp + esi + 0x90]
add eax, ebp
mov ebx, dword [esp + esi + 0x54]
add edx, ebp
push edi
push dword [esp + esi + 0x3c]
mov ecx, eax
mov dword [esp + 0x34], eax
push ebx
call fcn.00492503
add esp, 0xc
test eax, eax
jne 0x4968b8
cmp edi, 8
jae 0x496896
push dword [esp + esi + 0x38]
mov ecx, dword [esp + esi + 0xb4]
mov edx, dword [esp + 0x30]
add ecx, ebp
imul ebx, edi
lea eax, [ebx + 7]
and eax, 0xfffffff8
push eax
push ebx
call fcn.004916b6
add esp, 0xc
add esi, 4
cmp esi, 0x1c
jne 0x496842
mov ecx, dword [esp + 0x24]
mov edx, ebp
push edi
mov edi, dword [esp + 0x24]
push edi
push dword [esp + 0x24]
call fcn.0049127d
add esp, 0xc
xor eax, eax
mov ecx, dword [esp + 0xdc]
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ecx + 0x190], eax
mov eax, dword [esp + 0x28]
test eax, eax
je 0x496919
add eax, 0xfffffffc
push eax
push 0
push dword [0x4cefc8]
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret
mov ecx, dword [esp + 0xdc]
mov dword [ecx + 0x190], 0x53
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret
mov ecx, dword [esp + 0xdc]
mov dword [ecx + 0x190], 0x5c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret