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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a9220
sub esp, 0x80
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jl 0x4a9152
test eax, eax
je 0x4a9124
test ecx, ecx
je 0x4a9124
cmp ecx, 1
je 0x4a90a8
mov edx, dword [esp + 0x8c]
test edx, edx
jle 0x4a9093
mov ebx, dword [esp + 0x98]
test ebx, ebx
jle 0x4a9085
lea ebp, [edx - 1]
cmp ebp, edx
jae 0x4a9219
mov ebp, dword [esp + 0x84]
lea esi, [ebp + edx*4 - 4]
lea edi, [ebx - 1]
cmp edi, ebx
jae 0x4a9219
mov edi, dword [esp + 0x90]
lea edi, [edi + ebx*4 - 4]
cmp edi, esi
xchg esi, ebx
sete bl
xchg esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a9018
xor edx, edx
xor ebp, ebp
mov esi, dword [0x7770c4]
cmp ecx, esi
jl 0x4a8f3a
mov dword [esp + 0x7c], edx
mov dword [esp + 0x38], ebp
mov dword [esp], ecx
call fcn.004a89c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
cmp eax, ecx
ja 0x4a9204
mov edx, dword [esp + 0xa4]
cmp eax, edx
ja 0x4a91fd
lea ebx, [eax + eax*2]
shl ebx, 1
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x94]
lea edi, [esi + ebp]
cmp ebx, edi
jle 0x4a8f33
mov dword [esp + 0x50], eax
mov dword [esp + 0x30], edi
mov esi, dword [esp + 0x38]
cmp ebx, esi
jg 0x4a8ef3
ja 0x4a91f6
mov dword [esp + 0x38], esi
mov ebp, dword [esp + 0x7c]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
call fcn.004a81f0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
cmp eax, ecx
ja 0x4a91ef
mov edx, dword [esp + 0x50]
mov ebx, edx
shl edx, 1
cmp edx, eax
ja 0x4a91e8
sub ecx, edx
mov esi, ecx
neg ecx
shl ebx, 3
sar ecx, 0x1f
and ebx, ecx
mov ecx, dword [esp + 0x7c]
add ebx, ecx
mov dword [esp], ebx
sub eax, edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.004a7340
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
jge 0x4a8ee2
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x98]
mov dword [esp + 8], edx
call fcn.004a7380
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa0]
cmp eax, ecx
ja 0x4a91e1
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov edx, dword [esp + 0xa4]
sub edx, eax
mov dword [esp + 0x44], edx
mov ebp, edx
neg edx
mov esi, eax
shl eax, 2
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x9c]
add eax, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x18], eax
sub ecx, esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebp
call fcn.004a8a00
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x74], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x50]
mov dword [esp + 0x18], edi
call fcn.004a88b0
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
call fcn.004a7380
mov eax, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
jmp 0x4a8e37
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004a7380
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x70], edx
mov ebx, dword [esp + 0x78]
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x20], esi
call fcn.004a8a00
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x60]
mov dword [esp + 0x18], edi
call fcn.004a88b0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
call fcn.004a8a00
mov eax, dword [esp + 0x24]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x30]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x38]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x50]
add edi, esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x18], edi
call fcn.004a88b0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
mov eax, dword [esp + 0x94]
cmp ebx, eax
jge 0x4a8e9e
ja 0x4a91da
mov dword [esp + 0x78], ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edi
sub eax, ebx
mov ecx, dword [esp + 0x98]
sub ecx, ebx
mov dword [esp + 0x54], ecx
neg ecx
shl ebx, 2
sar ecx, 0x1f
and ebx, ecx
mov ecx, dword [esp + 0x90]
add ebx, ecx
mov ecx, dword [esp + 0x50]
cmp eax, ecx
jle 0x4a8e93
mov eax, dword [esp + 0x54]
cmp ecx, eax
jbe 0x4a8cd9
jmp 0x4a91d3
mov ecx, eax
mov eax, dword [esp + 0x54]
jmp 0x4a8cd9
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call fcn.004a7380
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
mov edx, dword [esp + 0x94]
cmp edx, ecx
jne 0x4a8bbb
jmp 0x4a8e9e
lea eax, [0x5cd2a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea eax, [ebx + 4]
mov dword [esp + 8], eax
call fcn.00434f20
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x50]
jmp 0x4a8b24
mov ebx, edi
jmp 0x4a8b0a
lea esi, [eax + ecx]
cmp esi, ebp
jg 0x4a8fd8
ja 0x4a920b
mov dword [esp + 0x34], esi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x7c], edx
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov edi, dword [esp + 0x90]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x20], eax
call fcn.004a7c70
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
call fcn.004a7380
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
lea edx, [0x5cd2a0]
mov dword [esp], edx
mov dword [esp + 4], esi
lea edx, [ecx + eax + 4]
mov dword [esp + 8], edx
call fcn.00434f20
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x98]
jmp 0x4a8f4b
test edx, edx
jle 0x4a907a
mov esi, dword [esp + 0xa4]
test esi, esi
jle 0x4a9076
lea edi, [edx - 1]
cmp edi, edx
jae 0x4a9212
lea edi, [ebp + edx*4 - 4]
lea ebx, [esi - 1]
cmp ebx, esi
jae 0x4a9212
mov ebx, dword [esp + 0x9c]
lea ebx, [ebx + esi*4 - 4]
cmp ebx, edi
sete bl
test bl, bl
je 0x4a9061
mov ebx, dword [esp + 0x98]
jmp 0x4a8aa8
mov ebx, dword [esp + 0x98]
mov edx, ebp
mov ebp, dword [esp + 0x8c]
jmp 0x4a8aac
xor ebx, ebx
jmp 0x4a9051
mov esi, dword [esp + 0xa4]
xor ebx, ebx
jmp 0x4a9051
mov ebp, dword [esp + 0x84]
xor esi, esi
jmp 0x4a8a9e
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x84]
xor esi, esi
jmp 0x4a8a9e
mov ecx, dword [esp + 0x9c]
mov ecx, dword [ecx]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], 0
call fcn.004a7ad0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xb0], eax
add esp, 0x80
ret
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x20], eax
call fcn.004a8a00
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
add esp, 0x80
ret
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.00424360
ud2
call fcn.00424360
ud2
call fcn.00446b60
jmp fcn.004a8a00