Function at 0x4d0e02
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.004d0b31
add esp, 0xc
mov dword [ebx + 0x190], eax
test eax, eax
jne 0x4d1ac9
mov ebp, dword [ebp]
lea edi, [ebx + 0xa4]
mov esi, dword [esi]
mov ecx, dword [ebx + 0x78]
call fcn.004d07d4
mov ecx, dword [edi]
mov edx, eax
imul edx, dword [ebx + 0x7c]
call fcn.004d07d4
mov ebx, eax
imul ebx, dword [edi + 4]
cmp ebx, edx
ja 0x4d0ea0
mov ebx, edx
mov ecx, esi
imul ecx, ebp
test esi, esi
je 0x4d0eb7
xor edx, edx
mov eax, ecx
div esi
cmp eax, ebp
jne 0x4d1ab8
test ecx, ecx
je 0x4d0ecf
xor edx, edx
lea eax, [ecx*8]
div ecx
cmp eax, 8
jne 0x4d1ab8
mov edi, esi
shr edi, 3
mov ecx, edi
imul ecx, ebx
test edi, edi
je 0x4d0eeb
xor edx, edx
mov eax, ecx
div edi
cmp eax, ebx
jne 0x4d1ab8
and esi, 7
mov eax, ecx
imul esi, ebx
add esi, 7
shr esi, 3
add ecx, esi
cmp ecx, eax
jb 0x4d1ab8
mov eax, ecx
add ecx, 5
cmp ecx, eax
jb 0x4d1ab8
test ecx, ecx
je 0x4d0f25
mov eax, ecx
xor edx, edx
imul eax, ebp
div ecx
cmp eax, ebp
jne 0x4d1ab8
mov ebx, dword [esp + 0xe4]
lea eax, [ebx + 4]
test eax, eax
je 0x4d1a9c
push eax
push 8
push dword [0x4e05c4]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edi, eax
mov dword [esp + 0x1c], edi
test edi, edi
je 0x4d1a9c
mov dword [edi], ebx
mov ecx, ebx
add edi, 4
mov edx, edi
mov dword [esp + 0x1c], edi
call fcn.004d6677
test edi, edi
je 0x4d1a9c
mov eax, dword [esp + 0xe0]
mov ebp, dword [esp + 0xdc]
lea esi, [eax + 0x21]
lea ecx, [ecx]
cmp dword [ebp + 0x190], 0
jne 0x4d1639
mov ecx, esi
sub ecx, eax
cmp esi, eax
jb 0x4d1629
lea eax, [ecx + 0xc]
cmp eax, ebx
ja 0x4d1629
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 0x4d1617
lea eax, [ecx + 0xc]
add eax, edx
cmp eax, ebx
ja 0x4d160b
cmp eax, ecx
jb 0x4d160b
xor ecx, ecx
lea ebx, [esi + 8]
mov dword [esp + 0x18], ecx
mov eax, str.IDAT
inc eax
cmp byte [eax], cl
jne 0x4d0ff3
sub eax, str.IDAT
cmp eax, 4
jne 0x4d105a
cmp byte [esi + 4], 0x49
jne 0x4d105a
cmp byte [esi + 5], 0x44
jne 0x4d105a
cmp byte [esi + 6], 0x41
jne 0x4d105a
cmp byte [esi + 7], 0x54
jne 0x4d105a
mov ecx, dword [esp + 0x20]
lea edi, [edx + ecx]
cmp edi, ecx
jb 0x4d15b7
cmp edi, dword [esp + 0xe4]
ja 0x4d15b7
add ecx, dword [esp + 0x1c]
push edx
mov edx, ebx
call fcn.004d07a4
mov dword [esp + 0x24], edi
add esp, 4
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x2c], 3
jmp 0x4d156c
mov eax, str.IEND
lea ecx, [ecx]
inc eax
cmp byte [eax], cl
jne 0x4d1062
sub eax, str.IEND
cmp eax, 4
jne 0x4d1094
cmp byte [esi + 4], 0x49
jne 0x4d1094
cmp byte [esi + 5], 0x45
jne 0x4d1094
cmp byte [esi + 6], 0x4e
jne 0x4d1094
cmp byte [esi + 7], 0x44
jne 0x4d1094
mov bl, 1
mov byte [esp + 0x17], bl
jmp 0x4d1574
mov eax, str.PLTE
inc eax
cmp byte [eax], cl
jne 0x4d1099
sub eax, str.PLTE
cmp eax, 4
jne 0x4d10ec
cmp byte [esi + 4], 0x50
jne 0x4d10ec
cmp byte [esi + 5], 0x4c
jne 0x4d10ec
cmp byte [esi + 6], 0x54
jne 0x4d10ec
cmp byte [esi + 7], 0x45
jne 0x4d10ec
push edx
mov edx, ebx
lea ecx, [ebp + 0xa4]
call fcn.004d0721
add esp, 4
mov dword [ebp + 0x190], eax
test eax, eax
jne 0x4d1639
mov dword [esp + 0x2c], 2
jmp 0x4d156c
mov eax, str.tRNS
nop
inc eax
cmp byte [eax], cl
jne 0x4d10f2
sub eax, str.tRNS
cmp eax, 4
jne 0x4d112c
cmp byte [esi + 4], 0x74
jne 0x4d112c
cmp byte [esi + 5], 0x52
jne 0x4d112c
cmp byte [esi + 6], 0x4e
jne 0x4d112c
cmp byte [esi + 7], 0x53
jne 0x4d112c
push edx
mov edx, ebx
lea ecx, [ebp + 0xa4]
call fcn.004d05de
jmp 0x4d155b
mov eax, str.bKGD
nop
inc eax
cmp byte [eax], cl
jne 0x4d1132
sub eax, str.bKGD
cmp eax, 4
jne 0x4d116c
cmp byte [esi + 4], 0x62
jne 0x4d116c
cmp byte [esi + 5], 0x4b
jne 0x4d116c
cmp byte [esi + 6], 0x47
jne 0x4d116c
cmp byte [esi + 7], 0x44
jne 0x4d116c
push edx
lea ecx, [ebp + 0x98]
mov edx, ebx
call fcn.004d0516
jmp 0x4d155b
mov eax, str.tEXt
nop
inc eax
cmp byte [eax], cl
jne 0x4d1172
sub eax, str.tEXt
cmp eax, 4
jne 0x4d11b5
cmp byte [esi + 4], 0x74
jne 0x4d11b5
cmp byte [esi + 5], 0x45
jne 0x4d11b5
cmp byte [esi + 6], 0x58
jne 0x4d11b5
cmp byte [esi + 7], 0x74
jne 0x4d11b5
cmp dword [ebp + 0x28], ecx
je 0x4d1570
push edx
lea ecx, [ebp + 0x98]
mov edx, ebx
call fcn.004d03be
jmp 0x4d155b
mov eax, str.zTXt
inc eax
cmp byte [eax], cl
jne 0x4d11ba
sub eax, str.zTXt
cmp eax, 4
jne 0x4d1201
cmp byte [esi + 4], 0x7a
jne 0x4d1201
cmp byte [esi + 5], 0x54
jne 0x4d1201
cmp byte [esi + 6], 0x58
jne 0x4d1201
cmp byte [esi + 7], 0x74
jne 0x4d1201
cmp dword [ebp + 0x28], ecx
je 0x4d1570
push edx
push ebx
lea ecx, [ebp + 0x98]
mov edx, ebp
call fcn.004cffc9
add esp, 8
jmp 0x4d155e
mov eax, str.iTXt
inc eax
cmp byte [eax], cl
jne 0x4d1206
sub eax, str.iTXt
cmp eax, 4
jne 0x4d124d
cmp byte [esi + 4], 0x69
jne 0x4d124d
cmp byte [esi + 5], 0x54
jne 0x4d124d
cmp byte [esi + 6], 0x58
jne 0x4d124d
cmp byte [esi + 7], 0x74
jne 0x4d124d
cmp dword [ebp + 0x28], ecx
je 0x4d1570
push edx
push ebx
lea ecx, [ebp + 0x98]
mov edx, ebp
call fcn.004ce20d
add esp, 8
jmp 0x4d155e
mov eax, str.tIME
inc eax
cmp byte [eax], cl
jne 0x4d1252
sub eax, str.tIME
cmp eax, 4
jne 0x4d12e7
cmp byte [esi + 4], 0x74
jne 0x4d12e7
cmp byte [esi + 5], 0x49
jne 0x4d12e7
cmp byte [esi + 6], 0x4d
jne 0x4d12e7
cmp byte [esi + 7], 0x45
jne 0x4d12e7
mov dword [esp + 0x1c], edi
cmp edx, 7
jne 0x4d15c3
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 0x4d156c
mov eax, str.pHYs
lea ebx, [ebx]
inc eax
cmp byte [eax], cl
jne 0x4d12f2
sub eax, str.pHYs
cmp eax, 4
jne 0x4d139e
cmp byte [esi + 4], 0x70
jne 0x4d139e
cmp byte [esi + 5], 0x48
jne 0x4d139e
cmp byte [esi + 6], 0x59
jne 0x4d139e
cmp byte [esi + 7], 0x73
jne 0x4d139e
mov dword [esp + 0x1c], edi
cmp edx, 9
jne 0x4d15cf
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 0x4d156c
mov eax, str.gAMA
inc eax
cmp byte [eax], cl
jne 0x4d13a3
sub eax, str.gAMA
cmp eax, 4
jne 0x4d1413
cmp byte [esi + 4], 0x67
jne 0x4d1413
cmp byte [esi + 5], 0x41
jne 0x4d1413
cmp byte [esi + 6], 0x4d
jne 0x4d1413
cmp byte [esi + 7], 0x41
jne 0x4d1413
mov dword [esp + 0x1c], edi
cmp edx, eax
jne 0x4d15db
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 0x4d156c
mov eax, str.cHRM
inc eax
cmp byte [eax], cl
jne 0x4d1418
sub eax, str.cHRM
cmp eax, 4
jne 0x4d1452
cmp byte [esi + 4], 0x63
jne 0x4d1452
cmp byte [esi + 5], 0x48
jne 0x4d1452
cmp byte [esi + 6], 0x52
jne 0x4d1452
cmp byte [esi + 7], 0x4d
jne 0x4d1452
push edx
lea ecx, [ebp + 0x98]
mov edx, ebx
call fcn.004cdd31
jmp 0x4d155b
mov eax, str.sRGB
inc eax
cmp byte [eax], cl
jne 0x4d1457
sub eax, str.sRGB
cmp eax, 4
jne 0x4d14a5
cmp byte [esi + 4], 0x73
jne 0x4d14a5
cmp byte [esi + 5], 0x52
jne 0x4d14a5
cmp byte [esi + 6], 0x47
jne 0x4d14a5
cmp byte [esi + 7], 0x42
jne 0x4d14a5
mov dword [esp + 0x1c], edi
cmp edx, 1
jne 0x4d15e7
mov dword [ebp + 0x14c], edx
movzx eax, byte [ebx]
mov dword [ebp + 0x150], eax
mov dword [ebp + 0x190], ecx
jmp 0x4d1570
mov eax, str.iCCP
inc eax
cmp byte [eax], cl
jne 0x4d14aa
sub eax, str.iCCP
cmp eax, 4
jne 0x4d14e5
cmp byte [esi + 4], 0x69
jne 0x4d14e5
cmp byte [esi + 5], 0x43
jne 0x4d14e5
cmp byte [esi + 6], 0x43
jne 0x4d14e5
cmp byte [esi + 7], 0x50
jne 0x4d14e5
push edx
push ebx
lea ecx, [ebp + 0x98]
mov edx, ebp
call fcn.004cdb3f
add esp, 8
jmp 0x4d155e
mov eax, str.sBIT
inc eax
cmp byte [eax], cl
jne 0x4d14ea
sub eax, str.sBIT
cmp eax, 4
jne 0x4d1521
cmp byte [esi + 4], 0x73
jne 0x4d1521
cmp byte [esi + 5], 0x42
jne 0x4d1521
cmp byte [esi + 6], 0x49
jne 0x4d1521
cmp byte [esi + 7], 0x54
jne 0x4d1521
push edx
lea ecx, [ebp + 0x98]
mov edx, ebx
call fcn.004cd955
jmp 0x4d155b
cmp dword [ebp + 0x1c], ecx
jne 0x4d1530
test byte [esi + 4], 0x20
je 0x4d15f3
cmp dword [ebp + 0x2c], 0
mov ecx, 1
mov dword [esp + 0x18], ecx
je 0x4d1570
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.004cd81f
add esp, 4
mov dword [ebp + 0x190], eax
test eax, eax
jne 0x4d1639
mov ecx, dword [esp + 0x18]
mov bl, byte [esp + 0x17]
cmp dword [ebp + 0x18], 0
jne 0x4d1589
test ecx, ecx
jne 0x4d1589
mov ecx, esi
call fcn.004cd7a7
test eax, eax
jne 0x4d15ff
test bl, bl
jne 0x4d1639
mov ebx, dword [esp + 0xe4]
mov ecx, esi
mov edx, dword [esp + 0xe0]
lea edx, [edx + ebx]
call fcn.004cd72d
mov esi, eax
mov eax, dword [esp + 0xe0]
jmp 0x4d0f82
mov dword [ebp + 0x190], 0x5f
jmp 0x4d1639
mov dword [ebp + 0x190], 0x49
jmp 0x4d1639
mov dword [ebp + 0x190], 0x4a
jmp 0x4d1639
mov dword [ebp + 0x190], 0x60
jmp 0x4d1639
mov dword [ebp + 0x190], 0x62
jmp 0x4d1639
mov dword [ebp + 0x190], 0x45
jmp 0x4d1639
mov dword [ebp + 0x190], 0x39
jmp 0x4d1639
mov dword [ebp + 0x190], 0x40
jmp 0x4d1639
cmp dword [ebp + 0x20], 0
jne 0x4d1639
mov dword [ebp + 0x190], 0x3f
jmp 0x4d1639
cmp dword [ebp + 0x20], 0
jne 0x4d1639
mov dword [ebp + 0x190], 0x1e
mov ecx, dword [ebp + 0x190]
lea edi, [ebp + 0xa4]
mov eax, ecx
test ecx, ecx
jne 0x4d1667
cmp dword [edi], 3
jne 0x4d1667
cmp dword [ebp + 0xac], ecx
jne 0x4d1667
mov dword [ebp + 0x190], 0x6a
jmp 0x4d1822
test eax, eax
jne 0x4d180c
mov eax, dword [esp + 0x24]
mov ecx, dword [edi]
mov edx, dword [eax]
mov eax, dword [esp + 0xd8]
mov ebx, dword [eax]
call fcn.004d07d4
cmp dword [ebp + 0xa0], 0
jne 0x4d16b3
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 0x4d17e8
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 0x4d170e
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 0x4d1767
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 0x4d176b
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 0x4d17bb
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.004cff27
add esp, 0x10
mov dword [ebp + 0x190], eax
jmp 0x4d180e
xor esi, esi
test eax, eax
jne 0x4d1822
cmp dword [esp + 0x34], esi
je 0x4d1822
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 [0x4e05c4]
call ebx
mov eax, dword [ebp + 0x190]
test eax, eax
jne 0x4d18e8
mov ecx, dword [ebp + 0xa4]
call fcn.004d07d4
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 0x4d18a0
mov eax, dword [esp + 0x30]
mov dword [ebp + 0x190], 0x53
mov dword [eax], 0
jmp 0x4d1a7b
push eax
push 8
push dword [0x4e05c4]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov eax, dword [ebp + 0x190]
test esi, esi
je 0x4d18cf
mov dword [esi], edi
mov ecx, edi
add esi, 4
mov edx, esi
call fcn.004d6677
mov eax, dword [ebp + 0x190]
mov ecx, dword [esp + 0x30]
mov dword [ecx], esi
test esi, esi
jne 0x4d18ee
mov dword [ebp + 0x190], 0x53
jmp 0x4d1a7b
mov ecx, dword [esp + 0x30]
xor edi, edi
test eax, eax
jne 0x4d1a7b
mov edx, dword [ecx]
mov ecx, edi
call fcn.004d6677
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.004d07d4
mov edi, eax
imul edi, dword [esi + 0xa8]
test edi, edi
jne 0x4d194b
lea eax, [edi + 0x1f]
jmp 0x4d1a68
cmp dword [esi + 0xa0], 0
jne 0x4d19bc
cmp edi, 8
jae 0x4d199c
mov esi, edi
imul esi, edx
lea ebx, [esi + 7]
and ebx, 0xfffffff8
cmp esi, ebx
je 0x4d1998
push edi
mov edi, dword [esp + 0x24]
push edi
push edx
mov edx, dword [esp + 0x34]
mov ecx, edx
call fcn.004cd6b3
add esp, 0xc
test eax, eax
jne 0x4d1a68
mov ecx, dword [esp + 0x24]
mov edx, ebp
push edi
push ebx
push esi
call fcn.004cc866
jmp 0x4d1a63
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
push edi
push ebx
push edx
mov edx, dword [esp + 0x34]
call fcn.004cd6b3
add esp, 0xc
test eax, eax
je 0x4d1a66
jmp 0x4d1a68
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.004cc6d3
add esp, 0x18
xor esi, esi
jmp 0x4d19f2
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.004cd6b3
add esp, 0xc
test eax, eax
jne 0x4d1a68
cmp edi, 8
jae 0x4d1a46
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.004cc866
add esp, 0xc
add esi, 4
cmp esi, 0x1c
jne 0x4d19f2
mov ecx, dword [esp + 0x24]
mov edx, ebp
push edi
mov edi, dword [esp + 0x24]
push edi
push dword [esp + 0x24]
call fcn.004cc42d
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 0x4d1ac9
add eax, 0xfffffffc
push eax
push 0
push dword [0x4e05c4]
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