Function at 0x46354f
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 [ecx], eax
push edi
push dword [esp + 0xe4]
mov dword [esp + 0x24], eax
mov edx, ebp
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [ebp], eax
mov dword [esi], eax
mov eax, dword [esp + 0xe4]
push eax
mov dword [esp + 0x38], ecx
mov ecx, esi
push ebx
mov dword [esp + 0x30], esi
mov byte [esp + 0x27], 0
mov dword [esp + 0x28], 1
call fcn.00463262
add esp, 0xc
mov dword [ebx + 0x190], eax
test eax, eax
jne 0x464206
mov ebp, dword [ebp]
lea edi, [ebx + 0xa4]
mov esi, dword [esi]
mov ecx, dword [ebx + 0x78]
mov dword [esp + 0x28], edi
call fcn.00462f1a
mov ecx, dword [edi]
mov edx, eax
imul edx, dword [ebx + 0x7c]
call fcn.00462f1a
mov ebx, eax
imul ebx, dword [edi + 4]
cmp ebx, edx
ja 0x4635ed
mov ebx, edx
mov ecx, esi
imul ecx, ebp
test esi, esi
je 0x463604
xor edx, edx
mov eax, ecx
div esi
cmp eax, ebp
jne 0x4641f5
test ecx, ecx
je 0x46361c
xor edx, edx
lea eax, [ecx*8]
div ecx
cmp eax, 8
jne 0x4641f5
mov edi, esi
shr edi, 3
mov ecx, edi
imul ecx, ebx
test edi, edi
je 0x463638
xor edx, edx
mov eax, ecx
div edi
cmp eax, ebx
jne 0x4641f5
and esi, 7
mov eax, ecx
imul esi, ebx
add esi, 7
shr esi, 3
add ecx, esi
cmp ecx, eax
jb 0x4641f5
mov eax, ecx
add ecx, 5
cmp ecx, eax
jb 0x4641f5
test ecx, ecx
je 0x463672
mov eax, ecx
xor edx, edx
imul eax, ebp
div ecx
cmp eax, ebp
jne 0x4641f5
mov ebp, dword [esp + 0xe4]
lea eax, [ebp + 4]
test eax, eax
je 0x4641d9
push eax
push 8
push dword [0x4a01c8]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x4641d9
mov dword [edi], ebp
mov ecx, ebp
add edi, 4
mov edx, edi
mov dword [esp + 0x14], edi
call fcn.004961ff
test edi, edi
je 0x4641d9
mov eax, dword [esp + 0xe0]
mov ebx, dword [esp + 0xdc]
lea esi, [eax + 0x21]
lea ecx, [ecx]
cmp dword [ebx + 0x190], 0
jne 0x463f5e
mov ecx, esi
sub ecx, eax
cmp esi, eax
jb 0x463d7b
lea eax, [ecx + 0xc]
cmp eax, ebp
ja 0x463d7b
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 0x463d69
lea eax, [ecx + 0xc]
add eax, edx
cmp eax, ebp
ja 0x463d5d
cmp eax, ecx
jb 0x463d5d
xor ecx, ecx
lea ebp, [esi + 8]
mov dword [esp + 0x10], ecx
mov eax, str.IDAT
inc eax
cmp byte [eax], cl
jne 0x463740
sub eax, str.IDAT
cmp eax, 4
jne 0x4637a7
cmp byte [esi + 4], 0x49
jne 0x4637a7
cmp byte [esi + 5], 0x44
jne 0x4637a7
cmp byte [esi + 6], 0x41
jne 0x4637a7
cmp byte [esi + 7], 0x54
jne 0x4637a7
mov ecx, dword [esp + 0x20]
lea edi, [edx + ecx]
cmp edi, ecx
jb 0x463d09
cmp edi, dword [esp + 0xe4]
ja 0x463d09
add ecx, dword [esp + 0x14]
push edx
mov edx, ebp
call fcn.00462eea
mov dword [esp + 0x24], edi
add esp, 4
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], 3
jmp 0x463cbf
mov eax, str.IEND
lea ecx, [ecx]
inc eax
cmp byte [eax], cl
jne 0x4637af
sub eax, str.IEND
cmp eax, 4
jne 0x4637e0
cmp byte [esi + 4], 0x49
jne 0x4637e0
cmp byte [esi + 5], 0x45
jne 0x4637e0
cmp byte [esi + 6], 0x4e
jne 0x4637e0
cmp byte [esi + 7], 0x44
jne 0x4637e0
mov byte [esp + 0x1b], 1
jmp 0x463cc3
mov eax, str.PLTE
inc eax
cmp byte [eax], cl
jne 0x4637e5
sub eax, str.PLTE
cmp eax, 4
jne 0x463838
cmp byte [esi + 4], 0x50
jne 0x463838
cmp byte [esi + 5], 0x4c
jne 0x463838
cmp byte [esi + 6], 0x54
jne 0x463838
cmp byte [esi + 7], 0x45
jne 0x463838
push edx
mov edx, ebp
lea ecx, [ebx + 0xa4]
call fcn.00462e67
add esp, 4
mov dword [ebx + 0x190], eax
test eax, eax
jne 0x463d8b
mov dword [esp + 0x1c], 2
jmp 0x463cbf
mov eax, str.tRNS
mov edi, edi
inc eax
cmp byte [eax], cl
jne 0x46383f
sub eax, str.tRNS
cmp eax, 4
jne 0x463879
cmp byte [esi + 4], 0x74
jne 0x463879
cmp byte [esi + 5], 0x52
jne 0x463879
cmp byte [esi + 6], 0x4e
jne 0x463879
cmp byte [esi + 7], 0x53
jne 0x463879
push edx
mov edx, ebp
lea ecx, [ebx + 0xa4]
call fcn.00462d24
jmp 0x463cae
mov eax, str.bKGD
nop
inc eax
cmp byte [eax], cl
jne 0x46387f
sub eax, str.bKGD
cmp eax, 4
jne 0x4638b9
cmp byte [esi + 4], 0x62
jne 0x4638b9
cmp byte [esi + 5], 0x4b
jne 0x4638b9
cmp byte [esi + 6], 0x47
jne 0x4638b9
cmp byte [esi + 7], 0x44
jne 0x4638b9
push edx
lea ecx, [ebx + 0x98]
mov edx, ebp
call fcn.00462c5c
jmp 0x463cae
mov eax, str.tEXt
nop
inc eax
cmp byte [eax], cl
jne 0x4638bf
sub eax, str.tEXt
cmp eax, 4
jne 0x463902
cmp byte [esi + 4], 0x74
jne 0x463902
cmp byte [esi + 5], 0x45
jne 0x463902
cmp byte [esi + 6], 0x58
jne 0x463902
cmp byte [esi + 7], 0x74
jne 0x463902
cmp dword [ebx + 0x28], ecx
je 0x463cc3
push edx
lea ecx, [ebx + 0x98]
mov edx, ebp
call fcn.00462b04
jmp 0x463cae
mov eax, str.zTXt
inc eax
cmp byte [eax], cl
jne 0x463907
sub eax, str.zTXt
cmp eax, 4
jne 0x46394e
cmp byte [esi + 4], 0x7a
jne 0x46394e
cmp byte [esi + 5], 0x54
jne 0x46394e
cmp byte [esi + 6], 0x58
jne 0x46394e
cmp byte [esi + 7], 0x74
jne 0x46394e
cmp dword [ebx + 0x28], ecx
je 0x463cc3
push edx
push ebp
lea ecx, [ebx + 0x98]
mov edx, ebx
call fcn.0046270f
add esp, 8
jmp 0x463cb1
mov eax, str.iTXt
inc eax
cmp byte [eax], cl
jne 0x463953
sub eax, str.iTXt
cmp eax, 4
jne 0x46399a
cmp byte [esi + 4], 0x69
jne 0x46399a
cmp byte [esi + 5], 0x54
jne 0x46399a
cmp byte [esi + 6], 0x58
jne 0x46399a
cmp byte [esi + 7], 0x74
jne 0x46399a
cmp dword [ebx + 0x28], ecx
je 0x463cc3
push edx
push ebp
lea ecx, [ebx + 0x98]
mov edx, ebx
call fcn.00460987
add esp, 8
jmp 0x463cb1
mov eax, str.tIME
inc eax
cmp byte [eax], cl
jne 0x46399f
sub eax, str.tIME
cmp eax, 4
jne 0x463a35
cmp byte [esi + 4], 0x74
jne 0x463a35
cmp byte [esi + 5], 0x49
jne 0x463a35
cmp byte [esi + 6], 0x4d
jne 0x463a35
cmp byte [esi + 7], 0x45
jne 0x463a35
mov dword [esp + 0x14], edi
cmp edx, 7
jne 0x463d15
mov dword [ebx + 0xf4], 1
movzx ecx, byte [ebp]
movzx eax, byte [ebp + 1]
shl ecx, 8
add ecx, eax
mov dword [ebx + 0xf8], ecx
movzx eax, byte [ebp + 2]
mov dword [ebx + 0xfc], eax
movzx eax, byte [ebp + 3]
mov dword [ebx + 0x100], eax
movzx eax, byte [ebp + 4]
mov dword [ebx + 0x104], eax
movzx eax, byte [ebp + 5]
mov dword [ebx + 0x108], eax
movzx eax, byte [ebp + 6]
mov dword [ebx + 0x10c], eax
mov dword [ebx + 0x190], 0
jmp 0x463cbf
mov eax, str.pHYs
jmp 0x463a3f
inc eax
cmp byte [eax], cl
jne 0x463a3f
sub eax, str.pHYs
cmp eax, 4
jne 0x463af0
cmp byte [esi + 4], 0x70
jne 0x463af0
cmp byte [esi + 5], 0x48
jne 0x463af0
cmp byte [esi + 6], 0x59
jne 0x463af0
cmp byte [esi + 7], 0x73
jne 0x463af0
mov dword [esp + 0x14], edi
cmp edx, 9
jne 0x463d21
mov dword [ebx + 0x110], 1
movzx ecx, byte [ebp]
movzx eax, byte [ebp + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebp + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebp + 3]
shl ecx, 8
add ecx, eax
mov dword [ebx + 0x114], ecx
movzx ecx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebp + 6]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebp + 7]
shl ecx, 8
add ecx, eax
mov dword [ebx + 0x118], ecx
movzx eax, byte [ebp + 8]
mov dword [ebx + 0x11c], eax
mov dword [ebx + 0x190], 0
jmp 0x463cbf
mov eax, str.gAMA
inc eax
cmp byte [eax], cl
jne 0x463af5
sub eax, str.gAMA
cmp eax, 4
jne 0x463b66
cmp byte [esi + 4], 0x67
jne 0x463b66
cmp byte [esi + 5], 0x41
jne 0x463b66
cmp byte [esi + 6], 0x4d
jne 0x463b66
cmp byte [esi + 7], 0x41
jne 0x463b66
mov dword [esp + 0x14], edi
cmp edx, eax
jne 0x463d2d
mov dword [ebx + 0x120], 1
movzx ecx, byte [ebp]
movzx eax, byte [ebp + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebp + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [ebp + 3]
shl ecx, 8
add ecx, eax
mov dword [ebx + 0x124], ecx
mov dword [ebx + 0x190], 0
jmp 0x463cbf
mov eax, str.cHRM
lea esp, [esp]
inc eax
cmp byte [eax], cl
jne 0x463b6f
sub eax, str.cHRM
cmp eax, 4
jne 0x463ba9
cmp byte [esi + 4], 0x63
jne 0x463ba9
cmp byte [esi + 5], 0x48
jne 0x463ba9
cmp byte [esi + 6], 0x52
jne 0x463ba9
cmp byte [esi + 7], 0x4d
jne 0x463ba9
push edx
lea ecx, [ebx + 0x98]
mov edx, ebp
call fcn.0046049a
jmp 0x463cae
mov eax, str.sRGB
nop
inc eax
cmp byte [eax], cl
jne 0x463baf
sub eax, str.sRGB
cmp eax, 4
jne 0x463bfe
cmp byte [esi + 4], 0x73
jne 0x463bfe
cmp byte [esi + 5], 0x52
jne 0x463bfe
cmp byte [esi + 6], 0x47
jne 0x463bfe
cmp byte [esi + 7], 0x42
jne 0x463bfe
mov dword [esp + 0x14], edi
cmp edx, 1
jne 0x463d39
mov dword [ebx + 0x14c], edx
movzx eax, byte [ebp]
mov dword [ebx + 0x150], eax
mov dword [ebx + 0x190], ecx
jmp 0x463cc3
mov eax, str.iCCP
inc eax
cmp byte [eax], cl
jne 0x463c03
sub eax, str.iCCP
cmp eax, 4
jne 0x463c3e
cmp byte [esi + 4], 0x69
jne 0x463c3e
cmp byte [esi + 5], 0x43
jne 0x463c3e
cmp byte [esi + 6], 0x43
jne 0x463c3e
cmp byte [esi + 7], 0x50
jne 0x463c3e
push edx
push ebp
lea ecx, [ebx + 0x98]
mov edx, ebx
call fcn.004602a8
add esp, 8
jmp 0x463cb1
mov eax, str.sBIT
inc eax
cmp byte [eax], cl
jne 0x463c43
sub eax, str.sBIT
cmp eax, 4
jne 0x463c7a
cmp byte [esi + 4], 0x73
jne 0x463c7a
cmp byte [esi + 5], 0x42
jne 0x463c7a
cmp byte [esi + 6], 0x49
jne 0x463c7a
cmp byte [esi + 7], 0x54
jne 0x463c7a
push edx
lea ecx, [ebx + 0x98]
mov edx, ebp
call fcn.004600be
jmp 0x463cae
cmp dword [ebx + 0x1c], ecx
jne 0x463c89
test byte [esi + 4], 0x20
je 0x463d45
cmp dword [ebx + 0x2c], 0
mov ecx, 1
mov dword [esp + 0x10], ecx
je 0x463cc3
mov ebp, dword [esp + 0x1c]
push esi
lea edx, [ebp + 0x60]
lea ecx, [ebp + 0x5d]
lea edx, [ebx + edx*4]
lea ecx, [ebx + ecx*4]
call fcn.0045ff88
add esp, 4
mov dword [ebx + 0x190], eax
test eax, eax
jne 0x463d8b
mov ecx, dword [esp + 0x10]
cmp dword [ebx + 0x18], 0
jne 0x463cd8
test ecx, ecx
jne 0x463cd8
mov ecx, esi
call fcn.0045ff10
test eax, eax
jne 0x463d51
cmp byte [esp + 0x1b], 0
jne 0x463d8b
mov ebp, dword [esp + 0xe4]
mov ecx, esi
mov edx, dword [esp + 0xe0]
lea edx, [edx + ebp]
call fcn.0045fe96
mov esi, eax
mov eax, dword [esp + 0xe0]
jmp 0x4636cf
mov dword [ebx + 0x190], 0x5f
jmp 0x463d8b
mov dword [ebx + 0x190], 0x49
jmp 0x463d8b
mov dword [ebx + 0x190], 0x4a
jmp 0x463d8b
mov dword [ebx + 0x190], 0x60
jmp 0x463d8b
mov dword [ebx + 0x190], 0x62
jmp 0x463d8b
mov dword [ebx + 0x190], 0x45
jmp 0x463d8b
mov dword [ebx + 0x190], 0x39
jmp 0x463d8b
mov dword [ebx + 0x190], 0x40
jmp 0x463d8b
cmp dword [ebx + 0x20], 0
jne 0x463d8b
mov dword [ebx + 0x190], 0x3f
jmp 0x463d8b
cmp dword [ebx + 0x20], 0
jne 0x463d8b
mov dword [ebx + 0x190], 0x1e
cmp dword [ebx + 0x190], 0
jne 0x463f5e
cmp dword [ebx + 0xa4], 3
lea esi, [ebx + 0xa4]
jne 0x463dbf
cmp dword [ebx + 0xac], 0
jne 0x463dbf
mov dword [ebx + 0x190], 0x6a
jmp 0x463f62
mov eax, dword [esp + 0x24]
mov ecx, dword [esi]
mov edx, dword [eax]
mov eax, dword [esp + 0xd8]
mov ebp, dword [eax]
call fcn.00462f1a
cmp dword [ebx + 0xa0], 0
jne 0x463e01
imul eax, dword [esi + 4]
mov esi, edx
and esi, 7
shr edx, 3
imul esi, eax
imul edx, eax
add esi, 7
shr esi, 3
inc esi
add esi, edx
imul esi, ebp
jmp 0x463f22
mov edi, eax
lea ecx, [edx + 7]
imul edi, dword [esi + 4]
lea ebx, [ebp + 7]
shr ecx, 3
mov esi, ecx
shr ebx, 3
and esi, 7
shr ecx, 3
mov dword [esp + 0x1c], ebx
imul esi, edi
imul ecx, edi
add esi, 7
shr esi, 3
inc esi
add esi, ecx
imul esi, ebx
lea ebx, [edx + 3]
cmp edx, 4
jbe 0x463e5c
mov ecx, ebx
shr ecx, 3
mov eax, ecx
shr ecx, 3
and eax, 7
imul ecx, edi
imul eax, edi
add eax, 7
shr eax, 3
inc eax
add eax, ecx
imul eax, dword [esp + 0x1c]
add esi, eax
shr ebx, 2
lea eax, [ebp + 3]
mov ecx, ebx
shr eax, 3
and ecx, 7
shr ebx, 3
imul ecx, edi
imul ebx, edi
add ecx, 7
shr ecx, 3
inc ecx
add ecx, ebx
lea ebx, [edx + 1]
imul ecx, eax
add esi, ecx
cmp edx, 2
jbe 0x463eb0
mov ecx, ebx
shr ecx, 2
mov eax, ecx
shr ecx, 3
and eax, 7
imul ecx, edi
imul eax, edi
add eax, 7
shr eax, 3
inc eax
add eax, ecx
lea ecx, [ebp + 3]
shr ecx, 2
imul eax, ecx
add esi, eax
shr ebx, 1
mov ecx, ebx
shr ebx, 3
and ecx, 7
imul ebx, edi
imul ecx, edi
add ecx, 7
shr ecx, 3
inc ecx
add ecx, ebx
lea ebx, [ebp + 1]
mov eax, ebx
shr eax, 2
imul ecx, eax
add esi, ecx
cmp edx, 1
jbe 0x463efd
mov ecx, edx
shr ebx, 1
shr ecx, 1
mov eax, ecx
shr ecx, 3
and eax, 7
imul ecx, edi
imul eax, edi
add eax, 7
shr eax, 3
inc eax
add eax, ecx
imul eax, ebx
add esi, eax
mov ebx, dword [esp + 0xdc]
mov eax, edx
and eax, 7
shr edx, 3
imul eax, edi
imul edx, edi
shr ebp, 1
add eax, 7
shr eax, 3
inc eax
add eax, edx
imul eax, ebp
add esi, eax
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x34]
push ebx
push eax
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x34]
push eax
push esi
call fcn.0046266d
add esp, 0x10
mov dword [ebx + 0x190], eax
test eax, eax
jne 0x463f5e
cmp dword [esp + 0x34], esi
mov esi, dword [esp + 0x28]
je 0x463f62
mov dword [ebx + 0x190], 0x5b
jmp 0x463f62
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov ebx, dword [sym.imp.KERNEL32.dll_HeapFree]
add eax, 0xfffffffc
push eax
push 0
push dword [0x4a01c8]
call ebx
mov ebp, dword [esp + 0xdc]
mov eax, dword [ebp + 0x190]
test eax, eax
jne 0x464028
mov ecx, dword [esi]
call fcn.00462f1a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xd8]
imul eax, dword [esi + 4]
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 0x463fe0
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x190], 0x53
mov dword [eax], 0
jmp 0x4641b8
push eax
push 8
push dword [0x4a01c8]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov eax, dword [ebp + 0x190]
test esi, esi
je 0x46400f
mov dword [esi], edi
mov ecx, edi
add esi, 4
mov edx, esi
call fcn.004961ff
mov eax, dword [ebp + 0x190]
mov ecx, dword [esp + 0x30]
mov dword [ecx], esi
test esi, esi
jne 0x46402e
mov dword [ebp + 0x190], 0x53
jmp 0x4641b8
mov ecx, dword [esp + 0x30]
xor edi, edi
test eax, eax
jne 0x4641b8
mov edx, dword [ecx]
mov ecx, edi
call fcn.004961ff
mov eax, dword [esp + 0xd8]
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [eax]
mov eax, dword [esp + 0x24]
mov ecx, dword [esi]
mov dword [esp + 0x20], ebx
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], edx
mov eax, dword [eax]
mov dword [esp + 0x24], eax
call fcn.00462f1a
mov edi, eax
imul edi, dword [esi + 4]
test edi, edi
jne 0x464081
lea eax, [edi + 0x1f]
jmp 0x4641a5
mov eax, dword [esp + 0xdc]
cmp dword [eax + 0xa0], 0
jne 0x4640f9
cmp edi, 8
jae 0x4640d9
mov esi, edi
imul esi, edx
lea ebx, [esi + 7]
and ebx, 0xfffffff8
cmp esi, ebx
je 0x4640d5
push edi
mov edi, dword [esp + 0x24]
push edi
push edx
mov edx, dword [esp + 0x38]
mov ecx, edx
call fcn.0045fe1c
add esp, 0xc
test eax, eax
jne 0x4641a5
mov ecx, dword [esp + 0x24]
mov edx, ebp
push edi
push ebx
push esi
call fcn.0045efef
jmp 0x4641a0
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push edi
push ebx
push edx
mov edx, dword [esp + 0x38]
call fcn.0045fe1c
add esp, 0xc
test eax, eax
je 0x4641a3
jmp 0x4641a5
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.0045ee5c
add esp, 0x18
xor esi, esi
jmp 0x46412f
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 + 0x24], eax
push ebx
call fcn.0045fe1c
add esp, 0xc
test eax, eax
jne 0x4641a5
cmp edi, 8
jae 0x464183
push dword [esp + esi + 0x38]
mov ecx, dword [esp + esi + 0xb4]
mov edx, dword [esp + 0x20]
add ecx, ebp
imul ebx, edi
lea eax, [ebx + 7]
and eax, 0xfffffff8
push eax
push ebx
call fcn.0045efef
add esp, 0xc
add esi, 4
cmp esi, 0x1c
jne 0x46412f
mov ecx, dword [esp + 0x24]
mov edx, ebp
push edi
mov edi, dword [esp + 0x24]
push edi
push dword [esp + 0x1c]
call fcn.0045eba8
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 + 0x2c]
test eax, eax
je 0x464206
add eax, 0xfffffffc
push eax
push 0
push dword [0x4a01c8]
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret
mov eax, dword [esp + 0xdc]
mov dword [eax + 0x190], 0x53
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret
mov eax, dword [esp + 0xdc]
mov dword [eax + 0x190], 0x5c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret