Function at 0x4ad060
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 0x4adbba
sub esp, 0x12c
mov eax, dword [esp + 0x134]
movzx ecx, byte [eax]
cmp cl, 4
ja 0x4ad4ee
cmp cl, 1
ja 0x4ad293
test cl, cl
jne 0x4ad19d
mov ecx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.0046d4e0
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.0046d4e0
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.00459408
lea eax, [0x4d2f5e]
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, [0x4d2699]
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.004acc20
jmp 0x4adbb3
mov ecx, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.0046d4e0
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.0046d4e0
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.00459408
lea eax, [0x4d4009]
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, [0x4d2699]
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.004acc20
jmp 0x4adbb3
cmp cl, 2
je 0x4ad3f8
cmp cl, 3
jne 0x4ad39b
mov ecx, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.0046d4e0
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.0046d4e0
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.00459408
lea eax, [0x4d2d24]
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, [0x4d2841]
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.004acc20
jmp 0x4adbb3
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x4d2b1c]
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.004acc20
jmp 0x4adbb3
mov ecx, dword [eax + 8]
mov dword [esp + 4], 0
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.0046d4e0
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.0046d4e0
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.00459408
lea eax, [0x4d2919]
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, [0x4d2841]
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.004acc20
jmp 0x4adbb3
cmp cl, 7
ja 0x4ad8c4
cmp cl, 5
je 0x4ad867
cmp cl, 6
je 0x4ad7c3
mov ecx, dword [eax + 0xc]
test ecx, ecx
jne 0x4ad56f
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x4d3960]
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.004acc20
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.00447270
nop
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xec], ecx
lea edx, [0x4c36c0]
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.00443900
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.0046de90
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.00446f20
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, [0x4d2b35]
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.004acc20
mov eax, dword [esp + 0x134]
mov ecx, dword [eax + 8]
test cx, 1
je 0x4ad71f
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x4d269d]
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.004acc20
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.0046d4e0
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, [0x4d2841]
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.004acc20
jmp 0x4adbb3
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.0046d4e0
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, [0x4d2fab]
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.004acc20
jmp 0x4adbb3
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x4d2941]
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.004acc20
jmp 0x4adbb3
cmp cl, 8
je 0x4ada27
cmp cl, 9
je 0x4ad983
cmp cl, 0xa
jne 0x4adbb3
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.0046d4e0
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, [0x4d4015]
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.004acc20
jmp 0x4adbb3
mov eax, dword [eax + 4]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], 0xa
call fcn.0046d4e0
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, [0x4d2f65]
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.004acc20
jmp 0x4adbb3
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.00447270
nop
mov eax, dword [esp + 0x10]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], ecx
lea edx, [0x4c36c0]
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.00443900
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.0046de90
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.00446f20
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.0046d4e0
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.00459408
lea eax, [0x4d2d48]
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, [0x4d2841]
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.004acc20
add esp, 0x12c
ret
call fcn.00457e00
jmp fcn.004ad060