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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x4c613f
sub esp, 0x138
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.004c7280
mov eax, dword [esp + 8]
test eax, eax
jne 0x4c4e31
mov ecx, dword [esp + 0x14c]
jmp 0x4c57cb
mov dword [esp + 0x30], eax
lea ecx, [0x6cd7a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044b8f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.00490bf0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x4c57ae
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x4c57a1
mov edx, dword [edx + 8]
cmp edx, 0x6d448d5d
ja 0x4c536a
cmp edx, 0x38dfc0a9
ja 0x4c50c8
cmp edx, 0x2de60e3b
ja 0x4c4f77
cmp edx, 0x252f926b
je 0x4c4f19
cmp edx, 0x2de60e3b
jne 0x4c4f0d
mov edx, dword [esp + 0x14c]
lea ebx, [0x6c1440]
cmp edx, ebx
jne 0x4c57a8
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x10c]
xor eax, eax
jmp 0x4c6120
mov edx, dword [esp + 0x14c]
jmp 0x4c57a8
mov edx, dword [esp + 0x14c]
lea ebx, [0x6bfc40]
cmp edx, ebx
jne 0x4c57a8
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x54], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xe8], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x94]
jmp 0x4c6093
cmp edx, 0x2e74d42b
je 0x4c505f
cmp edx, 0x338a7ec0
je 0x4c4ffd
cmp edx, 0x38dfc0a9
jne 0x4c4ff1
mov edx, dword [esp + 0x14c]
lea ebx, [0x6c13c0]
cmp edx, ebx
jne 0x4c57a8
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x68], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xfc], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x9c]
jmp 0x4c5fe5
mov edx, dword [esp + 0x14c]
jmp 0x4c57a8
mov ecx, dword [esp + 0x14c]
lea edx, [0x6bd5a0]
cmp ecx, edx
jne 0x4c5058
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov edx, ecx
jmp 0x4c57a8
mov ecx, dword [esp + 0x14c]
lea edx, [0x6ba5e0]
cmp ecx, edx
jne 0x4c50c1
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov edx, ecx
jmp 0x4c57a8
cmp edx, 0x4f3c6e38
ja 0x4c5206
cmp edx, 0x4072c7d5
je 0x4c5198
cmp edx, 0x49163278
je 0x4c512f
cmp edx, 0x4f3c6e38
jne 0x4c5123
mov edx, dword [esp + 0x14c]
lea ebx, [0x6beec0]
cmp edx, ebx
jne 0x4c57a8
mov ebx, dword [esp + 0x150]
mov ecx, dword [ebx + 4]
mov ebx, dword [ebx]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x10c]
xor eax, eax
jmp 0x4c5f89
mov edx, dword [esp + 0x14c]
jmp 0x4c57a8
mov ecx, dword [esp + 0x14c]
lea edx, [0x6bd5e0]
cmp ecx, edx
jne 0x4c5191
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov edx, ecx
jmp 0x4c57a8
mov ecx, dword [esp + 0x14c]
lea edx, [0x6b6ea0]
cmp ecx, edx
jne 0x4c51ff
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], eax
movss xmm0, dword [esp + 0x78]
mov eax, dword [esp + 0x150]
movss dword [eax], xmm0
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov edx, ecx
jmp 0x4c57a8
cmp edx, 0x62de383d
je 0x4c5308
cmp edx, 0x6d0f0857
jne 0x4c527b
mov edx, dword [esp + 0x14c]
lea ebx, [0x6c1400]
cmp edx, ebx
jne 0x4c5274
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x60], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa4]
jmp 0x4c5f0a
mov ecx, edx
jmp 0x4c5363
cmp edx, 0x6d448d5d
jne 0x4c52ff
mov ecx, dword [esp + 0x14c]
lea edx, [0x6b6ee0]
cmp ecx, edx
jne 0x4c5363
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
movsd xmm0, qword [esp + 0x8c]
mov eax, dword [esp + 0x150]
movsd qword [eax], xmm0
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov ecx, dword [esp + 0x14c]
jmp 0x4c5363
mov ecx, dword [esp + 0x14c]
lea edx, [0x6ba5a0]
cmp ecx, edx
jne 0x4c5363
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov edx, ecx
jmp 0x4c57a8
cmp edx, 0x889ce7f8
ja 0x4c55a4
cmp edx, 0x7e440822
ja 0x4c545a
cmp edx, 0x70800450
jne 0x4c53e8
mov edx, dword [esp + 0x14c]
lea ebx, [0x6bfc00]
cmp edx, ebx
jne 0x4c57a8
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x58], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xec], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xac]
jmp 0x4c5e4b
cmp edx, 0x7e440822
jne 0x4c544e
mov edx, dword [esp + 0x14c]
lea ebx, [0x6c1380]
cmp edx, ebx
jne 0x4c57a8
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x70], ebp
mov ebx, dword [ebx]
mov dword [esp + 0x104], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xb4]
jmp 0x4c5d9d
mov edx, dword [esp + 0x14c]
jmp 0x4c57a8
cmp edx, 0x81044065
je 0x4c5541
cmp edx, 0x854f63b7
jne 0x4c54cf
mov edx, dword [esp + 0x14c]
lea ebx, [0x6c24c0]
cmp edx, ebx
jne 0x4c54c8
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x5c], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf0], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xbc]
jmp 0x4c5cea
mov ecx, edx
jmp 0x4c559d
cmp edx, 0x889ce7f8
jne 0x4c5538
mov ecx, dword [esp + 0x14c]
lea edx, [0x6bd560]
cmp ecx, edx
jne 0x4c559d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov ecx, dword [esp + 0x14c]
jmp 0x4c559d
mov ecx, dword [esp + 0x14c]
lea edx, [0x6c2500]
cmp ecx, edx
jne 0x4c559d
mov edx, dword [esp + 0x150]
mov ebx, dword [edx + 4]
mov edx, dword [edx]
mov ebp, dword [esp + 0x30]
cmp ebx, ebp
jle 0x4c556a
mov eax, ebp
jmp 0x4c556e
mov eax, ebp
mov ebp, ebx
mov ebx, dword [esp + 0x10c]
cmp edx, ebx
je 0x4c57c3
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00463d10
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14c]
jmp 0x4c57c3
mov edx, ecx
jmp 0x4c57a8
cmp edx, 0xd6631a7c
ja 0x4c56c7
cmp edx, 0x9ae5bb3b
jne 0x4c5619
mov edx, dword [esp + 0x14c]
lea ebx, [0x6c2440]
cmp edx, ebx
jne 0x4c5612
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x6c], ebp
mov ebx, dword [ebx]
mov dword [esp + 0x100], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xc4]
jmp 0x4c5c31
mov ecx, edx
jmp 0x4c579d
cmp edx, 0xc3230e0b
jne 0x4c5682
mov ecx, dword [esp + 0x14c]
lea edx, [0x6ba560]
cmp ecx, edx
jne 0x4c579d
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov ecx, dword [esp + 0x14c]
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
cmp edx, 0xd6631a7c
jne 0x4c56bb
mov ecx, dword [esp + 0x14c]
lea edx, [0x6ba620]
cmp ecx, edx
jne 0x4c579d
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
mov ebx, dword [esp + 0x150]
mov byte [ebx], dl
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov ecx, dword [esp + 0x14c]
jmp 0x4c579d
cmp edx, 0xd83fe3b3
jne 0x4c572d
mov edx, dword [esp + 0x14c]
lea ebx, [0x6c2480]
cmp edx, ebx
jne 0x4c5729
mov ebx, dword [esp + 0x150]
mov ebp, dword [ebx + 4]
mov dword [esp + 0x64], ebp
mov ebx, dword [ebx]
mov dword [esp + 0xf8], ebx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xcc], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xcc]
jmp 0x4c5b82
mov ecx, edx
jmp 0x4c579d
cmp edx, 0xf3b50de0
jne 0x4c575f
mov ecx, dword [esp + 0x14c]
lea edx, [0x6bd620]
cmp ecx, edx
jne 0x4c579d
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
mov eax, dword [esp + 0x150]
mov byte [eax], dl
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
cmp edx, 0xfcd60fce
jne 0x4c5796
mov ecx, dword [esp + 0x14c]
lea edx, [0x6b4d20]
cmp ecx, edx
jne 0x4c579d
mov edx, dword [esp + 0x10c]
movzx edx, byte [edx]
test dl, dl
setne dl
mov ebx, dword [esp + 0x150]
mov byte [ebx], dl
mov eax, dword [esp + 0x30]
jmp 0x4c57c3
mov ecx, dword [esp + 0x14c]
mov edx, ecx
jmp 0x4c57a8
mov edx, dword [esp + 0x14c]
mov ecx, edx
xor eax, eax
jmp 0x4c57c3
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add esp, 0x138
ret
test eax, eax
jne 0x4c5b27
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x4c585e
nop
movzx ebx, byte [0x98a3a0]
test bl, bl
je 0x4c5819
mov dword [0x98a3a4], ecx
mov ecx, dword [0x9b1930]
test ecx, ecx
jne 0x4c5805
mov eax, dword [esp + 0x150]
mov dword [0x98a3a8], eax
jmp 0x4c5820
lea edi, [0x98a3a8]
mov eax, dword [esp + 0x150]
call fcn.00463350
jmp 0x4c5820
mov eax, dword [esp + 0x150]
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], eax
mov ecx, dword [esp + 0x118]
test ecx, ecx
je 0x4c5854
nop
movzx ebx, byte [ecx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x4c5850
or ebx, 0x80
mov ebp, eax
jmp 0x4c586b
mov ebp, eax
xor ebx, ebx
xor ecx, ecx
xor eax, eax
jmp 0x4c586b
mov ebp, dword [esp + 0x150]
xor ebx, ebx
xor ecx, ecx
xor eax, eax
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x4c58d5
cmp ebx, 0x17
je 0x4c5885
mov ebx, 0xffffffff
jmp 0x4c593f
mov dword [esp + 0xd8], eax
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x80], esi
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004c6240
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x150]
mov ebx, eax
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0xd4]
mov eax, dword [esp + 0xd8]
jmp 0x4c593f
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004be6e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x80], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004c6240
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x150]
mov ebx, eax
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
test ebx, ebx
jge 0x4c5a0d
mov dword [esp + 0x110], edx
mov dword [esp + 0x114], ebp
mov eax, dword [esp + 0x110]
test eax, eax
je 0x4c5968
lea ecx, [0x79fb0c]
jmp 0x4c596c
xor ecx, ecx
xor eax, eax
mov ecx, dword [ecx + 0x80]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x723dcf]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044f210
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
lea edx, [0x6dab40]
mov dword [esp], edx
call fcn.0040b7f0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, dword [0x9b1930]
test eax, eax
jne 0x4c59e6
mov eax, dword [esp + 0xe4]
mov dword [edi], eax
jmp 0x4c59f2
mov eax, dword [esp + 0xe4]
call fcn.00463350
lea eax, [0x79d538]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], edi
add esp, 0x138
ret
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xdc], ecx
lea eax, [0x6cd7a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0044b8f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
lea edi, [esp + 0x120]
xor eax, eax
call fcn.0046361a
mov eax, dword [esp + 0x144]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.00490bf0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
je 0x4c5add
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add esp, 0x138
ret
lea eax, [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.004c6790
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov ebx, dword [esp + 0xf8]
mov dword [ebx + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x44]
cmp edx, ebp
jge 0x4c5bd2
shl edx, 2
cmp edi, edx
jb 0x4c5be9
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x64]
cmp ecx, edx
jb 0x4c5b44
jmp 0x4c5be0
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4c57c3
mov eax, ecx
mov ecx, edx
call fcn.004633d0
mov eax, edx
mov ecx, edi
call fcn.00463430
mov ebx, dword [esp + 0x100]
mov word [ebx + ecx*2], ax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x4c]
cmp edx, ebp
jge 0x4c5c81
shl edx, 1
cmp edi, edx
jb 0x4c5c98
mov ebx, dword [eax + 0x20]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x4c5bf2
jmp 0x4c5c8f
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4c57c3
mov eax, ecx
mov ecx, edx
call fcn.004633d0
mov eax, edx
mov ecx, edi
call fcn.00463430
mov ebp, dword [esp + 0xf0]
lea esi, [ebp + edx*8 + 4]
mov dword [esi], eax
lea eax, [ebp + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, edx
mov edx, dword [esp + 0x14c]
mov ebx, ebp
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x3c]
cmp edx, ebp
jge 0x4c5d3e
shl edx, 3
cmp edi, edx
jb 0x4c5d55
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x5c]
cmp edx, ebx
jb 0x4c5ca1
jmp 0x4c5d4c
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4c57c3
mov eax, edx
mov ecx, ebx
call fcn.004633d0
mov eax, edx
mov ecx, edi
call fcn.00463430
mov ebx, dword [esp + 0x104]
mov word [ebx + ecx*2], ax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x50]
cmp edx, ebp
jge 0x4c5ded
shl edx, 1
cmp edi, edx
jb 0x4c5e04
mov ebx, dword [eax + 0x20]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x70]
cmp ecx, edx
jb 0x4c5d5e
jmp 0x4c5dfb
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4c57c3
mov eax, ecx
mov ecx, edx
call fcn.004633d0
mov eax, edx
mov ecx, edi
call fcn.00463430
mov ebx, dword [esp + 0xec]
movss dword [ebx + eax*4], xmm0
inc eax
mov esi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x38]
cmp edx, ebp
jge 0x4c5ea5
shl edx, 2
cmp edi, edx
jb 0x4c5eb8
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], eax
movss xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jb 0x4c5e0d
jmp 0x4c5eb3
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4c57c3
call fcn.004633d0
mov eax, edx
mov ecx, edi
call fcn.00463430
mov ebp, dword [esp + 0xf4]
lea esi, [ebp + edx*8 + 4]
mov dword [esi], eax
lea eax, [ebp + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, edx
mov edx, dword [esp + 0x14c]
mov ebx, ebp
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x40]
cmp edx, ebp
jge 0x4c5f5e
shl edx, 3
cmp edi, edx
jb 0x4c5f75
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x60]
cmp edx, ebx
jb 0x4c5ec1
jmp 0x4c5f6c
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4c57c3
mov eax, edx
mov ecx, ebx
call fcn.004633d0
mov eax, edx
mov ecx, edi
call fcn.00463430
test dl, dl
setne dl
mov byte [ebx + eax], dl
inc eax
mov edx, edi
cmp eax, ebp
jge 0x4c5f99
mov edi, edx
movzx edx, byte [eax + esi]
cmp eax, ecx
jb 0x4c5f7e
jmp 0x4c5fa2
mov ecx, edx
mov eax, ebp
jmp 0x4c57c3
call fcn.004633d0
mov ebx, dword [esp + 0xfc]
mov dword [ebx + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x48]
cmp edx, ebp
jge 0x4c6035
shl edx, 2
cmp edi, edx
jb 0x4c604c
mov ebx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x68]
cmp ecx, edx
jb 0x4c5fa7
jmp 0x4c6043
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4c57c3
mov eax, ecx
mov ecx, edx
call fcn.004633d0
mov eax, edx
mov ecx, edi
call fcn.00463430
mov ebx, dword [esp + 0xe8]
movsd qword [ebx + eax*8], xmm0
inc eax
mov esi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x30]
mov ecx, ebp
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x34]
cmp edx, ebp
jge 0x4c60fe
shl edx, 3
cmp edi, edx
jb 0x4c6111
mov ebx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, edx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
add edx, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
movsd xmm0, qword [esp + 0x84]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jb 0x4c6055
jmp 0x4c610c
mov ecx, dword [esp + 0x14c]
mov eax, edi
jmp 0x4c57c3
call fcn.004633d0
mov eax, edx
mov ecx, edi
call fcn.00463430
mov byte [ebx + eax], dl
inc eax
mov edx, edi
cmp eax, ebp
jge 0x4c6130
mov edi, edx
movzx edx, byte [eax + esi]
cmp eax, ecx
jb 0x4c611a
jmp 0x4c6139
mov ecx, edx
mov eax, ebp
jmp 0x4c57c3
call fcn.004633d0
nop
call fcn.00461f40
jmp fcn.004c4de0