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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xac]
cmp eax, dword [ecx + 8]
jbe 0x4bce4a
sub esp, 0x12c
mov eax, dword [esp + 0x134]
movzx ecx, byte [eax]
cmp cl, 4
ja 0x4bc77e
cmp cl, 1
ja 0x4bc523
test cl, cl
jne 0x4bc42d
mov ecx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 8]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045d7d8
lea eax, [0x51082c]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 7
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x118], eax
lea eax, [0x50fe5a]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 2
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.004bbeb0
jmp 0x4bce43
mov ecx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 8]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x28], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045d7d8
lea eax, [0x5119e8]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 0xc
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x118], eax
lea eax, [0x50fe5a]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 2
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x28]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.004bbeb0
jmp 0x4bce43
cmp cl, 2
je 0x4bc688
cmp cl, 3
jne 0x4bc62b
mov ecx, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 4]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045d7d8
lea eax, [0x5105b3]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 6
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x118], eax
lea eax, [0x510067]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 4
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x24]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.004bbeb0
jmp 0x4bce43
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x5103a0]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 5
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xf4]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004bbeb0
jmp 0x4bce43
mov ecx, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 4]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045d7d8
lea eax, [0x51015b]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 4
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x118], eax
lea eax, [0x510067]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 4
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.004bbeb0
jmp 0x4bce43
cmp cl, 7
ja 0x4bcb54
cmp cl, 5
je 0x4bcaf7
cmp cl, 6
je 0x4bca53
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x4bc7ff
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x51130b]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 0xa
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea ecx, [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004bbeb0
mov eax, dword [esp + 0x134]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
lea ebp, [esp + 0xb8]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0044a620
nop
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xec], ecx
lea edx, [0x4fa160]
mov dword [esp], edx
mov dword [esp + 4], 0
lea edx, [eax + eax*2]
mov ebx, edx
shr edx, 0x1f
add edx, ebx
sar edx, 1
mov dword [esp + 0x54], edx
mov dword [esp + 8], edx
call fcn.00446cb0
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x122
mov byte [esp + 0x16], 0
call fcn.00472ef0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x98]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044a2d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x5103be]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 5
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea ecx, [esp + 0xfc]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004bbeb0
mov eax, dword [esp + 0x134]
mov ecx, dword [eax + 8]
test cx, 1
je 0x4bc9af
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x50fe60]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 2
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea ecx, [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004bbeb0
mov eax, dword [esp + 0x134]
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x510067]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 4
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004bbeb0
jmp 0x4bce43
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x510895]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 7
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004bbeb0
jmp 0x4bce43
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x510187]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], 4
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xf4]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004bbeb0
jmp 0x4bce43
cmp cl, 8
je 0x4bccb7
cmp cl, 9
je 0x4bcc13
cmp cl, 0xa
jne 0x4bce43
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x5119f4]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 0xc
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004bbeb0
jmp 0x4bce43
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea edx, [0x510833]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 7
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], ecx
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004bbeb0
jmp 0x4bce43
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
lea ebp, [esp + 0x78]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0044a620
nop
mov eax, dword [esp + 0x10]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
lea edx, [0x4fa160]
mov dword [esp], edx
mov dword [esp + 4], 0
lea edx, [ecx + ecx*2]
mov ebx, edx
shr edx, 0x1f
add edx, ebx
sar edx, 1
mov dword [esp + 0x54], edx
mov dword [esp + 8], edx
call fcn.00446cb0
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], 0
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov word [esp + 0x14], 0x122
mov byte [esp + 0x16], 0
call fcn.00472ef0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x58]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044a2d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x134]
mov edx, dword [edx + 4]
mov dword [esp + 4], 0
mov dword [esp], edx
mov dword [esp + 8], 0xa
call fcn.00472540
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], ecx
lea edi, [esp + 0x10c]
mov edx, eax
xor eax, eax
call fcn.0045d7d8
lea eax, [0x5105fb]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], 6
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x118], eax
lea eax, [0x510067]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 4
mov dword [esp + 0x124], edx
mov eax, dword [esp + 0x34]
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.004bbeb0
add esp, 0x12c
ret
call fcn.0045c1c0
jmp fcn.004bc2f0