Function at 0x4a7cc0
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 0x4a85ca
sub esp, 0x90
xor ebx, ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0xb0]
xor ebp, ebp
cmp ebx, ebp
jne 0x4a7d59
mov ebx, 0x5ff7e2
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], 0x26
mov dword [esp], 0x5c3fe0
lea ebx, [esp + 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ba10
lea ebx, [esp + 0xc]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00429d80
ud2
mov ecx, dword [esp + 0x98]
dec ecx
mov edi, dword [esp + 0x94]
mov esi, 0xc
cmp ecx, 0
jge 0x4a7db7
mov ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x4c], ebp
mov ebx, dword [esp + 0x4c]
dec ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov edx, ebx
mov eax, ebx
cmp esi, 0xffffffff
je 0x4a85c1
cdq
idiv esi
mov ebp, eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ebx, ebp
inc ebx
sub edi, ebx
mov dword [esp + 0x4c], ecx
imul ebx, esi
add ebx, dword [esp + 0x4c]
mov ecx, ebx
cmp ecx, esi
jl 0x4a7df4
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a85b6
cdq
idiv esi
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add edi, dword [esp + 0x30]
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0x30]
imul ebx, esi
mov ecx, dword [esp + 0x4c]
sub ecx, ebx
mov dword [esp + 0x94], edi
mov ebx, ecx
inc ebx
mov dword [esp + 0x98], ebx
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov esi, 0x3b9aca00
cmp ecx, 0
jge 0x4a7e5c
mov ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x4c], ebp
mov ebx, dword [esp + 0x4c]
dec ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, ebx
mov eax, ebx
cmp esi, 0xffffffff
je 0x4a85ad
cdq
idiv esi
mov ebp, eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov ebx, ebp
inc ebx
sub edi, ebx
imul ebx, esi
add ebx, ecx
mov ecx, ebx
cmp ecx, esi
jl 0x4a7e99
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a85a2
cdq
idiv esi
mov dword [esp + 0x38], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x4c], ebp
mov ebx, dword [esp + 0x4c]
imul ebx, esi
sub ecx, ebx
mov ebp, edi
mov dword [esp + 0xac], ecx
mov edi, dword [esp + 0xa4]
mov ecx, ebp
mov esi, 0x3c
cmp ebp, 0
jge 0x4a7ef4
mov ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x40], ebp
mov ebx, dword [esp + 0x40]
dec ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov edx, ebx
mov eax, ebx
cmp esi, 0xffffffff
je 0x4a8599
cdq
idiv esi
mov ebp, eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ebx, ebp
inc ebx
sub edi, ebx
imul ebx, esi
add ebx, ecx
mov ecx, ebx
cmp ecx, esi
jl 0x4a7f31
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a858e
cdq
idiv esi
mov dword [esp + 0x3c], eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x4c], ebp
mov ebx, dword [esp + 0x4c]
imul ebx, esi
sub ecx, ebx
mov ebp, edi
mov dword [esp + 0xa8], ecx
mov edi, dword [esp + 0xa0]
mov ecx, ebp
mov esi, 0x3c
cmp ebp, 0
jge 0x4a7f8c
mov ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x40], ebp
mov ebx, dword [esp + 0x40]
dec ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, ebx
mov eax, ebx
cmp esi, 0xffffffff
je 0x4a8585
cdq
idiv esi
mov ebp, eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov ebx, ebp
inc ebx
sub edi, ebx
imul ebx, esi
add ebx, ecx
mov ecx, ebx
cmp ecx, esi
jl 0x4a7fc9
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a857a
cdq
idiv esi
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x4c], ebp
mov ebx, dword [esp + 0x4c]
imul ebx, esi
sub ecx, ebx
mov ebp, edi
mov dword [esp + 0xa4], ecx
mov edi, dword [esp + 0x9c]
mov ecx, ebp
mov esi, 0x18
cmp ebp, 0
jge 0x4a8024
mov ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov dword [esp + 0x40], ebp
mov ebx, dword [esp + 0x40]
dec ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov edx, ebx
mov eax, ebx
cmp esi, 0xffffffff
je 0x4a8571
cdq
idiv esi
mov ebp, eax
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov ebx, ebp
inc ebx
sub edi, ebx
imul ebx, esi
add ebx, ecx
mov ecx, ebx
cmp ecx, esi
jl 0x4a8059
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a8566
cdq
idiv esi
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x34]
imul ebx, esi
sub ecx, ebx
mov edx, edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x94]
cdq
mov ebx, eax
sub ebx, 0xf2ee9141
sbb edx, 0xffffffbb
mov dword [esp + 0x50], ebx
mov dword [esp], ebx
mov dword [esp + 0x54], edx
mov dword [esp + 4], edx
mov dword [esp + 8], 0x190
mov dword [esp + 0xc], 0
call fcn.0044b3b0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x84], eax
mov eax, 0x190
xor edx, edx
mov ebp, edx
or ebp, ecx
jne 0x4a8551
mul edi
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
sub eax, ebp
sbb edx, ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, 0x23ab1
xor edx, edx
mov ebp, edx
or ebp, ecx
jne 0x4a853c
mul edi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.0044b3b0
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x84], eax
mov eax, 0x64
xor edx, edx
mov ebp, edx
or ebp, ecx
jne 0x4a8527
mul edi
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
sub eax, ebp
sbb edx, ebx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x84], eax
mov eax, 0x8eac
xor edx, edx
mov ebp, edx
or ebp, ecx
jne 0x4a8512
mul edi
mov esi, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
add esi, eax
adc ebp, edx
mov ebx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
shrd ebx, ecx, 2
shr ecx, 2
mov eax, dword [esp + 0x50]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x84], eax
mov eax, ebx
mov edi, ecx
shld edi, ebx, 2
shl eax, 2
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
sub eax, dword [esp + 0x78]
sbb edx, edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x80], esi
mov edi, ebp
mov eax, 0x5b5
xor edx, edx
mov ebp, edx
or ebp, ecx
jne 0x4a84fd
mul ebx
mov ebx, eax
mov eax, dword [esp + 0x80]
add eax, ebx
adc edi, edx
mov ebx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x68], eax
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x80], ebx
mov eax, 0x16d
xor edx, edx
mov esi, dword [esp + 0x68]
mov ebx, ebp
mov ebp, edx
or ebp, ebx
jne 0x4a84e8
mul esi
mov ebx, eax
mov eax, dword [esp + 0x80]
mov esi, edi
add eax, ebx
adc esi, edx
mov edi, eax
mov edx, esi
mov ebx, dword [esp + 0x98]
dec ebx
mov ebp, 0x6b3a80
cmp ebx, 0xd
jae 0x4a84e1
shl ebx, 2
add ebp, ebx
mov eax, dword [ebp]
cdq
mov ebx, eax
mov eax, edi
mov edi, esi
add eax, ebx
adc edi, edx
mov dword [esp + 0x70], eax
mov edx, edi
mov ecx, dword [esp + 0x94]
mov ebp, ecx
sar ebp, 0x1f
and ebp, 3
mov ebx, ecx
add ebx, ebp
and ebx, 3
sub ebx, ebp
cmp ebx, 0
jne 0x4a8317
mov eax, 0x51eb851f
mov dword [esp + 0x48], edx
imul ecx
mov ebx, edx
mov edx, dword [esp + 0x48]
sar ebx, 5
mov ebp, ecx
sar ebp, 0x1f
sub ebx, ebp
imul ebx, ebx, 0x64
mov ebp, ecx
sub ebp, ebx
cmp ebp, 0
jne 0x4a84d7
mov eax, 0x51eb851f
mov dword [esp + 0x48], edx
imul ecx
mov ebx, edx
mov edx, dword [esp + 0x48]
sar ebx, 7
mov edx, ecx
sar edx, 0x1f
sub ebx, edx
imul ebx, ebx, 0x190
mov ebp, ecx
sub ebp, ebx
cmp ebp, 0
je 0x4a84d7
xor eax, eax
cmp al, 0
je 0x4a833a
mov ebx, dword [esp + 0x98]
cmp ebx, 3
jl 0x4a833a
mov eax, dword [esp + 0x70]
add eax, 1
adc edi, 0
mov dword [esp + 0x70], eax
mov edx, edi
mov esi, dword [esp + 0x70]
mov eax, dword [esp + 0x9c]
dec eax
cdq
mov ebx, eax
mov eax, esi
mov ebp, edi
add eax, ebx
adc ebp, edx
mov esi, 0x15180
xor ebx, ebx
mov edx, ebp
or ebp, ebx
jne 0x4a84c2
mul esi
mov edi, eax
mov esi, edx
mov eax, dword [esp + 0xa0]
imul eax, eax, 0xe10
mov ebx, dword [esp + 0xa4]
imul ebx, ebx, 0x3c
add eax, ebx
add eax, dword [esp + 0xa8]
cdq
mov ecx, edx
mov ebp, edi
mov edx, esi
add ebp, eax
adc edx, ecx
add ebp, 0xe5263700
adc edx, 0x80000001
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 0x58], ebp
mov dword [esp + 4], ebp
mov dword [esp + 0x5c], edx
mov dword [esp + 8], edx
call fcn.004a8690
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x64], eax
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
cmp ecx, 0
je 0x4a8454
mov eax, ecx
cdq
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
sub eax, ebp
sbb edx, ebx
mov ebp, eax
mov eax, edx
cmp edx, dword [esp + 0x64]
jg 0x4a8498
jl 0x4a840c
cmp ebp, dword [esp + 0x60]
jae 0x4a8498
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
sub eax, 1
sbb edx, 0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.004a8690
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov eax, ecx
cdq
mov ebx, eax
mov ecx, edx
mov eax, esi
mov edx, ebp
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
xor ebx, ebx
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
add ebp, 0x7791f700
adc edx, 0xe
mov ecx, dword [esp + 0xac]
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
add esp, 0x90
ret
cmp eax, esi
jl 0x4a8435
jg 0x4a84a2
cmp ebp, edi
jb 0x4a8435
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.004a8690
mov ecx, dword [esp + 0x14]
jmp 0x4a8435
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4a8364
mov eax, 1
jmp 0x4a8319
call fcn.004287a0
ud2
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4a825f
imul edx, ebx
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, ebx
mul edx
add edx, ebp
jmp 0x4a8224
imul edx, edi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4a81a6
imul edx, edi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4a815f
imul edx, edi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4a8102
imul edx, edi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4a80d1
neg eax
mov dword [esp + 0x34], eax
jmp 0x4a8044
neg eax
mov ebp, eax
jmp 0x4a8010
neg eax
mov dword [esp + 0x2c], eax
jmp 0x4a7fac
neg eax
mov ebp, eax
jmp 0x4a7f78
neg eax
mov dword [esp + 0x3c], eax
jmp 0x4a7f14
neg eax
mov ebp, eax
jmp 0x4a7ee0
neg eax
mov dword [esp + 0x38], eax
jmp 0x4a7e7c
neg eax
mov ebp, eax
jmp 0x4a7e48
neg eax
mov dword [esp + 0x30], eax
jmp 0x4a7dd7
neg eax
mov ebp, eax
jmp 0x4a7d9d
call fcn.00450ed0
jmp fcn.004a7cc0