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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a89c4
sub esp, 0x70
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x14]
cmp ecx, 0xe
jae 0x4a8435
mov dword [esp], eax
call fcn.004a9ad0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4a8409
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
mov ecx, dword [eax + 0x10]
mov edx, ecx
and ecx, 0x1f
lea ebx, [ecx + 0x101]
cmp ebx, 0x11e
jg 0x4a8962
mov ebp, edx
shr edx, 5
mov dword [eax + 0x10], edx
and edx, 0x1f
lea esi, [edx + 1]
cmp esi, 0x1e
jg 0x4a892a
mov dword [esp + 0x38], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x34], edx
mov esi, ebp
shr ebp, 0xe
mov dword [eax + 0x10], ebp
mov ebp, dword [eax + 0x14]
add ebp, 0xfffffff2
mov dword [eax + 0x14], ebp
shr esi, 0xa
and esi, 0xf
lea ebp, [esi + 4]
mov dword [esp + 0x24], ebp
xor esi, esi
jmp 0x4a8522
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [eax + 0x14]
cmp edi, 3
jae 0x4a84d7
mov dword [esp], eax
call fcn.004a9ad0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4a8497
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
mov edi, dword [eax + 0x1044]
test byte [edi], al
mov ebx, dword [eax + 0x10]
cmp esi, 0x13
jae 0x4a89bd
lea ecx, [0x5bbde0]
mov edx, dword [ecx + esi*4]
cmp edx, 0x13
jae 0x4a89bd
and ebx, 7
mov dword [edi + edx*4], ebx
mov edi, dword [eax + 0x10]
shr edi, 3
mov dword [eax + 0x10], edi
mov edi, dword [eax + 0x14]
add edi, 0xfffffffd
mov dword [eax + 0x14], edi
inc esi
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x18]
cmp esi, ebp
jge 0x4a8538
mov dword [esp + 0x28], esi
jmp 0x4a84af
mov dword [esi + ebx*4], 0
inc ebp
mov ebx, dword [esp + 0x18]
cmp ebp, 0x13
jge 0x4a8561
mov esi, dword [eax + 0x1044]
test byte [esi], al
cmp ebp, 0x13
jae 0x4a89b6
lea edi, [0x5bbde0]
mov ebx, dword [edi + ebp*4]
cmp ebx, 0x13
jb 0x4a852c
jmp 0x4a89b6
mov ecx, dword [eax + 0x1044]
test byte [ecx], al
lea edx, [eax + 0x18]
mov dword [esp + 0x6c], edx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x13
mov dword [esp + 0xc], 0x13
call fcn.004a7a40
movzx eax, byte [esp + 0x10]
test al, al
je 0x4a88ee
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + eax + 0x102]
mov dword [esp + 0x20], ecx
xor edx, edx
jmp 0x4a85ba
mov eax, dword [esp + 0x38]
mov edx, ecx
mov ecx, dword [esp + 0x20]
cmp edx, ecx
jge 0x4a87d1
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
call fcn.004a9bc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test ecx, ecx
jne 0x4a87c5
cmp edx, 0x10
jge 0x4a8617
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x1040]
test byte [ecx], al
mov ebx, dword [esp + 0x2c]
cmp ebx, 0x13c
jae 0x4a89af
mov dword [ecx + ebx*4], edx
lea ecx, [ebx + 1]
jmp 0x4a85b0
jne 0x4a8771
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4a8735
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x1040]
test byte [ebx], al
lea ebp, [eax - 1]
cmp ebp, 0x13c
jae 0x4a89a8
mov ebx, dword [ebx + eax*4 - 4]
mov ecx, 2
mov ebp, 3
mov dword [esp + 0x30], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], ecx
jmp 0x4a8674
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x14]
mov esi, dword [edx + 0x14]
cmp esi, ecx
jae 0x4a869b
mov dword [esp], edx
call fcn.004a9ad0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x4a8660
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
mov esi, dword [edx + 0x10]
mov edi, esi
shr esi, cl
cmp ecx, 0x20
sbb ebx, ebx
and esi, ebx
mov dword [edx + 0x10], esi
mov esi, dword [edx + 0x14]
sub esi, ecx
mov dword [edx + 0x14], esi
mov esi, 1
shl esi, cl
and esi, ebx
lea ebx, [esi - 1]
and ebx, edi
add ebx, ebp
lea ebp, [eax + ebx]
mov esi, dword [esp + 0x20]
cmp ebp, esi
jg 0x4a86fd
mov ecx, dword [esp + 0x30]
xor ebp, ebp
jmp 0x4a86dc
mov dword [edi + eax*4], ecx
inc ebp
inc eax
cmp ebp, ebx
jge 0x4a86f4
mov edi, dword [edx + 0x1040]
test byte [edi], al
cmp eax, 0x13c
jb 0x4a86d7
jmp 0x4a89a1
mov ecx, eax
mov eax, edx
jmp 0x4a85b0
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 8]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], eax
lea eax, [0x541000]
mov dword [esp], eax
lea eax, [esp + 0x44]
mov dword [esp + 4], eax
call fcn.0040b1a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x70
ret
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
lea eax, [0x541000]
mov dword [esp], eax
lea eax, [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.0040b1a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
cmp edx, 0x11
jne 0x4a878f
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
mov ecx, 3
mov ebp, 3
xor ebx, ebx
jmp 0x4a8652
cmp edx, 0x12
jne 0x4a87ad
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
mov ecx, 7
mov ebp, 0xb
xor ebx, ebx
jmp 0x4a8652
lea eax, [0x541020]
mov dword [esp + 0x78], eax
lea eax, [0x5404b0]
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x1040]
test byte [ebx], al
mov ebp, dword [esp + 0x18]
cmp ebp, 0x13c
ja 0x4a899a
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0x13c
call fcn.004a7a40
movzx eax, byte [esp + 0x10]
test al, al
je 0x4a88b2
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x1040]
test byte [ecx], al
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
cmp edx, ebx
ja 0x4a899a
cmp ebx, 0x13c
ja 0x4a899a
lea ebp, [eax + 0x82c]
mov dword [esp], ebp
mov ebp, dword [esp + 0x38]
add ebp, 0xffffffc5
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov edi, edx
shl edx, 2
sar ebp, 0x1f
and edx, ebp
add ecx, edx
mov dword [esp + 4], ecx
sub ebx, edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
call fcn.004a7a40
movzx eax, byte [esp + 0x10]
test al, al
je 0x4a88b2
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x1040]
mov edx, dword [eax + 0x18]
mov ecx, dword [ecx + 0x400]
cmp edx, ecx
jge 0x4a889e
mov dword [eax + 0x18], ecx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
add esp, 0x70
ret
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
lea eax, [0x541000]
mov dword [esp], eax
lea eax, [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.0040b1a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
lea eax, [0x541000]
mov dword [esp], eax
lea eax, [esp + 0x54]
mov dword [esp + 4], eax
call fcn.0040b1a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea eax, [0x541000]
mov dword [esp], eax
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040b1a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
lea eax, [0x541000]
mov dword [esp], eax
lea eax, [esp + 0x64]
mov dword [esp + 4], eax
call fcn.0040b1a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x70
ret
call fcn.004252e0
ud2
call fcn.00425280
ud2
call fcn.00425280
ud2
call fcn.00425280
ud2
call fcn.00425280
ud2
call fcn.00425280
ud2
call fcn.00449fd0
jmp fcn.004a83f0