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

Disassembly:
mov ecx, dword [0x5b96c8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4ada58
sub esp, 0x7c
mov eax, dword [esp + 0x84]
cmp eax, 0x63
je 0x4ad51d
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.004ac670
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.004acb90
nop
mov eax, dword [esp + 0x84]
xor ecx, ecx
jmp 0x4ad551
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call fcn.004ad0f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
add esp, 0x7c
ret
cmp ecx, 7
jge 0x4ad96d
lea edx, [0x4df9d5]
movzx ebx, byte [edx + ecx]
cmp ebx, 0x80
jge 0x4ad56f
inc ecx
jmp 0x4ad598
mov dword [esp], edx
mov dword [esp + 4], 7
mov dword [esp + 8], ecx
call fcn.0045f400
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x84]
lea edx, [0x4df9d5]
cmp eax, ebx
jne 0x4ad551
cmp eax, 0x58
jg 0x4ad5ad
cmp eax, 0x55
je 0x4ad5e0
cmp eax, 0x58
je 0x4ad5e0
jmp 0x4ad5f2
cmp eax, 0x62
jne 0x4ad5c4
mov ecx, 2
mov edx, 2
lea ebx, [0x4df49d]
jmp 0x4ad602
cmp eax, 0x6f
jne 0x4ad5db
mov ecx, 8
mov edx, 8
lea ebx, [0x4dfb98]
jmp 0x4ad602
cmp eax, 0x78
jne 0x4ad5f2
mov ecx, 0x16
mov edx, 0x10
lea ebx, [0x4e3018]
jmp 0x4ad602
mov ecx, 0xa
mov edx, 0xa
lea ebx, [0x4e0030]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x44], edx
cmp eax, 0x55
jne 0x4ad689
mov eax, dword [esp + 0x80]
mov dword [esp], eax
lea ecx, [0x505650]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov byte [esp + 0xc], 0
call fcn.004ac930
movzx eax, byte [esp + 0x10]
test al, al
je 0x4ad911
mov eax, dword [esp + 0x80]
mov dword [esp], eax
lea ecx, [0x4df476]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov byte [esp + 0xc], 0
call fcn.004ac930
movzx eax, byte [esp + 0x10]
test al, al
je 0x4ad911
mov ecx, dword [esp + 0x40]
xor eax, eax
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x44]
jmp 0x4ad6ec
nop
mov eax, dword [esp + 0x80]
mov dword [esp], eax
lea ecx, [0x4df4a5]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
mov byte [esp + 0xc], 1
call fcn.004ac930
mov eax, dword [esp + 0x84]
cmp eax, 0x76
je 0x4ad6cc
mov ecx, dword [esp + 0x40]
xor eax, eax
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x44]
jmp 0x4ad6ec
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call fcn.004ad2c0
mov edx, dword [esp + 4]
movzx eax, byte [esp + 0x10]
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], edx
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], al
call fcn.004acfc0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x40
call fcn.00472f00
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4ad8d4
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x88]
lea ecx, [edx - 0x40]
neg ecx
shl eax, cl
lea ebx, [ecx - 0x20]
mov dword [esp + 0x60], ebx
mov ebp, ebx
neg ebx
mov esi, ecx
shr ecx, 5
mov dword [esp + 0x5c], ecx
mov edi, dword [esp + 0x10]
mov dword [esp + 0x30], edi
mov ecx, ebx
shr edi, cl
mov dword [esp + 0x58], edi
mov ecx, esi
mov edx, dword [esp + 0x30]
shl edx, cl
mov ecx, ebp
mov edi, dword [esp + 0x30]
shl edi, cl
mov dword [esp + 0x54], edi
cmp esi, 0x20
sbb edi, edi
sbb ecx, ecx
mov dword [esp + 0x50], ecx
and edx, edi
and eax, edi
mov ecx, esi
shr edx, cl
and edx, edi
mov edi, dword [esp + 0x50]
xchg edi, ebx
not ebx
xchg edi, ebx
or ecx, edi
cmp ebx, 0x20
sbb esi, esi
mov edi, dword [esp + 0x58]
and edi, esi
or edi, eax
cmp ebp, 0x20
sbb eax, eax
mov ebp, dword [esp + 0x54]
and ebp, eax
or edi, ebp
mov ebp, ecx
mov ecx, ebx
mov ebx, edi
shl edi, cl
mov ecx, ebp
mov ebp, ebx
sar ebx, cl
and edi, esi
or edx, edi
not eax
mov ecx, dword [esp + 0x60]
or ecx, eax
sar ebp, cl
mov eax, dword [esp + 0x5c]
cmp eax, 1
sbb eax, eax
xor eax, 0xffffffff
and eax, ebp
or eax, edx
mov edx, dword [esp + 0x30]
cmp edx, eax
setne al
mov ebp, dword [esp + 0x34]
cmp ebp, ebx
setne bl
or ebx, eax
test bl, bl
jne 0x4ad826
mov eax, dword [esp + 0x14]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], edx
add esp, 0x7c
ret
mov dword [esp], 0
lea eax, [0x4e45d6]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1a
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
call fcn.00451dd0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x68], ecx
lea edx, [0x4d06a0]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov ecx, dword [0x5b97c0]
test ecx, ecx
jne 0x4ad8c7
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
lea ecx, [0x50647c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0x74]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
call fcn.00466730
mov ecx, dword [esp + 0x68]
mov dword [edi], ecx
jmp 0x4ad887
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
nop
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0x74]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
nop
lea eax, [0x4d06a0]
mov dword [esp], eax
call fcn.0040bd00
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x4e20b8]
mov dword [eax], ecx
lea ecx, [0x50647c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0x74]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
mov ecx, eax
sar eax, 0x1f
lea edx, [esp + 0x4c]
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.00452450
mov dword [esp], 0
lea eax, [0x4e0315]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
lea eax, [0x4df866]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 6
lea eax, [0x4df9dc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], 7
call fcn.00451f00
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
lea edx, [0x4d06a0]
mov dword [esp], edx
call fcn.0040bd00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [0x5b97c0]
test ecx, ecx
jne 0x4ada4b
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ecx, [0x50647c]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], eax
lea eax, [0x4d0640]
mov dword [esp], eax
lea ecx, [esp + 0x74]
mov dword [esp + 4], ecx
call fcn.00409480
mov eax, dword [esp + 8]
lea ecx, [0x4d0640]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00437720
call fcn.00466730
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
jmp 0x4ad9fb
call fcn.00465370
jmp fcn.004ad4d0