Function at 0x4a6cf0
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 0x4a75fa
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 0x4a6d89
mov ebx, 0x5f8172
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], 0x26
mov dword [esp], 0x5bcfc0
lea ebx, [esp + 0x88]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
call fcn.0040ab30
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.00428ea0
ud2
mov ecx, dword [esp + 0x98]
dec ecx
mov edi, dword [esp + 0x94]
mov esi, 0xc
cmp ecx, 0
jge 0x4a6de7
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 0x4a75f1
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 0x4a6e24
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a75e6
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 0x4a6e8c
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 0x4a75dd
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 0x4a6ec9
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a75d2
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 0x4a6f24
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 0x4a75c9
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 0x4a6f61
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a75be
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 0x4a6fbc
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 0x4a75b5
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 0x4a6ff9
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a75aa
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 0x4a7054
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 0x4a75a1
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 0x4a7089
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov edx, ecx
mov eax, ecx
cmp esi, 0xffffffff
je 0x4a7596
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.0044a370
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 0x4a7581
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 0x4a756c
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.0044a370
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 0x4a7557
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 0x4a7542
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 0x4a752d
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 0x4a7518
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, 0x6a9a40
cmp ebx, 0xd
jae 0x4a7511
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 0x4a7347
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 0x4a7507
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 0x4a7507
xor eax, eax
cmp al, 0
je 0x4a736a
mov ebx, dword [esp + 0x98]
cmp ebx, 3
jl 0x4a736a
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 0x4a74f2
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.004a76c0
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 0x4a7484
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 0x4a74c8
jl 0x4a743c
cmp ebp, dword [esp + 0x60]
jae 0x4a74c8
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.004a76c0
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 0x4a7465
jg 0x4a74d2
cmp ebp, edi
jb 0x4a7465
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.004a76c0
mov ecx, dword [esp + 0x14]
jmp 0x4a7465
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4a7394
mov eax, 1
jmp 0x4a7349
call fcn.004278c0
ud2
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4a728f
imul edx, ebx
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, ebx
mul edx
add edx, ebp
jmp 0x4a7254
imul edx, edi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4a71d6
imul edx, edi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4a718f
imul edx, edi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4a7132
imul edx, edi
mov ebp, eax
imul ebp, ecx
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4a7101
neg eax
mov dword [esp + 0x34], eax
jmp 0x4a7074
neg eax
mov ebp, eax
jmp 0x4a7040
neg eax
mov dword [esp + 0x2c], eax
jmp 0x4a6fdc
neg eax
mov ebp, eax
jmp 0x4a6fa8
neg eax
mov dword [esp + 0x3c], eax
jmp 0x4a6f44
neg eax
mov ebp, eax
jmp 0x4a6f10
neg eax
mov dword [esp + 0x38], eax
jmp 0x4a6eac
neg eax
mov ebp, eax
jmp 0x4a6e78
neg eax
mov dword [esp + 0x30], eax
jmp 0x4a6e07
neg eax
mov ebp, eax
jmp 0x4a6dcd
call fcn.0044fe90
jmp fcn.004a6cf0