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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x10]
cmp eax, dword [ecx + 8]
jbe 0x4ad0e7
sub esp, 0x90
mov dword [esp + 4], 0x3fe921fb
mov dword [esp], 0x54442d18
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 8], ecx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
jne 0x4ad065
mov edx, dword [esp + 0x98]
shr edx, 0x14
and edx, 0x7ff
lea eax, [edx - 0x3f6]
mov ecx, eax
shr eax, 6
cmp eax, 0x14
jae 0x4ad0dc
and ecx, 0x3f
mov dword [esp + 0x40], ecx
cmp ecx, 0x20
sbb edx, edx
lea ebp, [ecx - 0x20]
mov dword [esp + 0x54], ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x50], ebp
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x4c], edi
cmp esi, 0x20
sbb ebx, ebx
mov dword [esp + 0x48], ebx
lea edi, [0x91cb40]
lea edi, [edi + eax*8]
mov ebx, dword [edi]
mov dword [esp + 0x44], ebx
mov edi, dword [edi + 4]
shl ebx, cl
and ebx, edx
mov dword [esp + 0x8c], ebx
mov ecx, ebp
mov ebx, dword [esp + 0x44]
shr ebx, cl
mov ecx, esi
mov ebp, dword [esp + 0x44]
shl ebp, cl
mov esi, dword [esp + 0x48]
and ebp, esi
mov esi, dword [esp + 0x4c]
and ebx, esi
mov ecx, dword [esp + 0x40]
shl edi, cl
and edi, edx
or ebx, edi
or ebx, ebp
lea ebp, [eax + 1]
cmp ebp, 0x14
jae 0x4ad0d0
mov dword [esp + 0x44], ebx
mov dword [esp + 0x88], edx
lea ebp, [ecx - 0x40]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x84], edi
lea esi, [ebp - 0x20]
mov dword [esp + 0x80], esi
cmp esi, 0x20
sbb edx, edx
mov dword [esp + 0x7c], edx
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x78], esi
cmp esi, 0x20
sbb ebx, ebx
mov dword [esp + 0x74], ebx
lea edx, [0x91cb40]
lea edx, [edx + eax*8 + 8]
mov ebx, dword [edx]
mov dword [esp + 0x70], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x6c], edx
mov ecx, ebp
shr ebx, cl
and ebx, edi
mov ecx, esi
shl edx, cl
mov esi, dword [esp + 0x74]
and edx, esi
or edx, ebx
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x6c]
shr esi, cl
mov ebx, dword [esp + 0x7c]
and esi, ebx
or esi, edx
mov edx, dword [esp + 0x8c]
or edx, esi
mov dword [esp + 0x34], edx
mov ecx, ebp
mov edx, dword [esp + 0x6c]
shr edx, cl
and edx, edi
mov ebx, dword [esp + 0x44]
or ebx, edx
mov dword [esp + 0x38], ebx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x6c]
shl edx, cl
mov ebx, dword [esp + 0x88]
and edx, ebx
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x70]
shr esi, cl
mov edi, dword [esp + 0x4c]
and esi, edi
or esi, edx
mov ecx, dword [esp + 0x54]
mov edi, dword [esp + 0x70]
shl edi, cl
mov edx, dword [esp + 0x48]
and edi, edx
or edi, esi
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x70]
shl edx, cl
and edx, ebx
lea esi, [eax + 2]
cmp esi, 0x14
jae 0x4ad0c4
mov dword [esp + 0x44], edx
lea esi, [0x91cb40]
lea esi, [esi + eax*8 + 0x10]
mov ebx, dword [esi + 4]
mov dword [esp + 0x8c], ebx
mov ecx, ebp
shr ebx, cl
mov edx, dword [esp + 0x84]
and ebx, edx
or edi, ebx
mov dword [esp + 0x2c], edi
mov ebx, dword [esi]
mov dword [esp + 0x70], ebx
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x8c]
shr esi, cl
mov ecx, ebp
shr ebx, cl
and ebx, edx
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x8c]
shl edi, cl
mov edx, dword [esp + 0x74]
and edi, edx
or edi, ebx
mov ebx, dword [esp + 0x7c]
and esi, ebx
or esi, edi
mov edi, dword [esp + 0x44]
or edi, esi
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x70]
shl edi, cl
mov ebx, dword [esp + 0x8c]
shl ebx, cl
mov edx, dword [esp + 0x88]
and ebx, edx
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x70]
shr esi, cl
mov ecx, ebp
mov ebp, dword [esp + 0x4c]
and esi, ebp
or esi, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x70]
shl ebp, cl
mov ecx, ebx
mov ebx, dword [esp + 0x48]
and ebp, ebx
or ebp, esi
and edi, edx
lea edx, [eax + 3]
cmp edx, 0x14
jae 0x4ad0b8
mov edx, eax
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x94]
mov esi, edx
mul ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0x30], eax
lea edx, [0x91cb40]
lea edx, [edx + esi*8 + 0x18]
mov esi, dword [edx + 4]
mov dword [esp + 0x50], esi
shr esi, cl
mov ebx, dword [esp + 0x84]
and esi, ebx
or ebp, esi
mov edx, dword [edx]
mov dword [esp + 4], ebp
shr edx, cl
mov ecx, dword [esp + 0x78]
mov ebp, dword [esp + 0x50]
mov esi, ebp
shl ebp, cl
and edx, ebx
mov ebx, dword [esp + 0x74]
and ebp, ebx
or ebp, edx
mov ecx, dword [esp + 0x80]
shr esi, cl
mov edx, dword [esp + 0x7c]
and esi, edx
or esi, ebp
or edi, esi
mov dword [esp], edi
mov edx, dword [esp + 0x98]
and edx, 0x800fffff
or edx, 0x100000
mov dword [esp + 0x3c], edx
mov dword [esp + 0xc], edx
mov ebx, dword [esp + 0x94]
mov dword [esp + 8], ebx
call fcn.0048ade0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0x2c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x28]
mov dword [esp], ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xc], ebp
mov esi, dword [esp + 0x94]
mov dword [esp + 8], esi
call fcn.0048ade0
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
add ebx, ebp
mov ebp, dword [esp + 0x24]
mov esi, edx
adc edx, ebp
mov dword [esp + 0x68], edx
mov edi, dword [esp + 0x3c]
mov eax, ebx
mov ebx, dword [esp + 0x34]
imul edi, ebx
mov ebx, dword [esp + 0x38]
mov ecx, edx
mov edx, dword [esp + 0x94]
imul ebx, edx
mov edx, dword [esp + 0x54]
add edx, ebx
add edx, edi
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x30]
add ebp, ebx
adc edx, edi
mov ebx, dword [esp + 0x24]
mov edi, esi
and esi, ebx
or edi, ebx
mov ebx, ecx
not ecx
and ecx, edi
or ecx, esi
shr ecx, 0x1f
add ecx, ebp
adc edx, 0
mov ebp, edx
shl edx, 3
mov esi, ecx
shr ecx, 0x1d
or ecx, edx
cmp ecx, 1
seta dl
xchg edi, ebx
sete bl
xchg edi, ebx
nop
nop
shl esi, 3
shr ebx, 0x1d
or ebx, esi
nop
and edi, 1
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4ace23
mov edx, ecx
xor esi, esi
mov edi, 0x20
jmp 0x4ace2b
mov edx, ecx
mov esi, edx
mov ecx, ebx
xor edi, edi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x54], edx
test esi, esi
seta dl
sete bl
cmp ecx, 0x10000
xchg ebp, ebx
setae bl
xchg ebp, ebx
and ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ace68
shr ecx, 0x10
mov edx, esi
shl esi, 0x10
or ecx, esi
shr edx, 0x10
add edi, 0x10
jmp 0x4ace6a
mov edx, esi
test edx, edx
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ecx, 0x100
mov esi, edi
xchg edi, ebx
setae bl
xchg edi, ebx
and edi, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4acea1
shr ecx, 8
mov ebx, edx
shl edx, 0x18
or ecx, edx
shr ebx, 8
lea edi, [esi + 8]
jmp 0x4acea5
mov edi, esi
mov ebx, edx
test ebx, ebx
jne 0x4ad0aa
cmp ecx, 0x100
jae 0x4ad09e
mov dword [esp + 0x50], eax
lea edx, [0x7082a9]
movzx edx, byte [edx + ecx]
lea edx, [edx + edi - 0x40]
neg edx
lea ecx, [edx + 1]
cmp ecx, 0x20
sbb ebx, ebx
lea ebp, [edx - 0x1f]
mov dword [esp + 0x4c], ebp
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x48], esi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb eax, eax
lea esi, [edx - 0x3f]
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x5c], esi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x44], edi
lea edi, [esi - 0x20]
mov dword [esp + 0x8c], edi
cmp edi, 0x20
sbb esi, esi
mov dword [esp + 0x88], esi
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb esi, esi
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x60]
shr esi, 0x1d
mov dword [esp + 0x80], esi
add edx, 0xfffffc02
neg edx
mov dword [esp + 0x58], edx
mov esi, dword [esp + 0x64]
shl esi, cl
mov edx, dword [esp + 0x54]
shl edx, cl
and edx, ebx
mov ecx, ebp
mov ebp, dword [esp + 0x64]
shr ebp, cl
and ebp, eax
or ebp, edx
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x64]
shl eax, cl
mov edx, dword [esp + 0x48]
and eax, edx
or eax, ebp
and esi, ebx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x68]
mov ebx, edx
shr edx, cl
mov ebp, dword [esp + 0x44]
and edx, ebp
or edx, eax
mov eax, dword [esp + 0x50]
shr eax, cl
and eax, ebp
mov ecx, edi
mov ebp, ebx
shl ebx, cl
mov edi, dword [esp + 0x84]
and ebx, edi
or ebx, eax
mov ecx, dword [esp + 0x8c]
shr ebp, cl
mov eax, dword [esp + 0x88]
and ebp, eax
or ebp, ebx
or ebp, esi
shr ebp, 0xc
mov eax, edx
shl edx, 0x14
or edx, ebp
shr eax, 0xc
mov ebx, dword [esp + 0x58]
shl ebx, 0x14
or ebx, eax
nop
mov eax, dword [esp + 0x80]
test eax, 1
je 0x4ad012
add eax, 1
mov dword [esp + 0x54], eax
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0xc], 0xbff00000
mov dword [esp + 8], 0
call fcn.0044c770
mov esi, dword [esp + 0x54]
and esi, 7
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, esi
mov dword [esp + 0x54], eax
mov dword [esp + 4], ebx
mov dword [esp], edx
mov dword [esp + 0xc], 0x3fe921fb
mov dword [esp + 8], 0x54442d18
call fcn.0044cdd0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xa0], 0
mov edx, dword [esp + 0x54]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], ecx
add esp, 0x90
ret
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov eax, dword [esp + 0x94]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xa8], eax
add esp, 0x90
ret
mov eax, ecx
mov ecx, 0x100
call fcn.00465e10
mov esi, ebx
mov eax, ecx
mov ecx, 0x100
call fcn.00465ef0
mov eax, edx
mov ecx, 0x14
call fcn.00465e10
mov eax, esi
mov ecx, 0x14
call fcn.00465e10
mov eax, ebp
mov ecx, 0x14
call fcn.00465e10
mov ecx, 0x14
call fcn.00465e10
nop
call fcn.004649b0
jmp fcn.004aca00