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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x4874a9
sub esp, 0xa4
lea edi, [esp + 0x84]
xor eax, eax
call fcn.00463958
mov ecx, dword [esp + 0xac]
test ecx, ecx
jge 0x48699b
mov ebx, dword [esp + 0xa8]
sub eax, ebx
mov ebx, 0
sbb ebx, ecx
jmp 0x4869a4
mov eax, dword [esp + 0xa8]
mov ebx, ecx
test ebx, ebx
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, 0x3b9aca00
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x486aab
test eax, eax
xchg esi, ebx
sete bl
xchg esi, ebx
mov byte [esp + 0xa3], 0x73
and esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x486a8c
cmp eax, 0x3e8
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x486a07
mov byte [esp + 0xa2], 0x6e
xor edx, edx
mov ebp, 0x1e
jmp 0x486a71
cmp eax, 0xf4240
xchg esi, ebx
setb bl
xchg esi, ebx
and esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x486a2f
mov byte [esp + 0xa2], 0x6d
mov edx, 6
mov ebp, 0x1e
jmp 0x486a71
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
lea eax, [esp + 0xa1]
mov dword [esp], eax
lea eax, [0x60b4bb]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.00464050
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x44]
mov edx, 3
mov ebp, 0x1d
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x48], edx
mov esi, ebp
xor edi, edi
xor ebp, ebp
xchg ebp, eax
mov byte [esp + 0x17], al
xchg ebp, eax
mov ebp, esi
jmp 0x48721b
lea eax, [0x60b413]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], 2
add esp, 0xa4
ret
mov byte [esp + 0xa3], 0x73
xor edx, edx
xor ebp, ebp
mov esi, 0x1f
jmp 0x486acf
mov edi, dword [esp + 0x4c]
lea edx, [edi + 1]
mov edi, dword [esp + 0x5c]
mov ebp, ebx
mov ebx, eax
mov eax, edi
mov dword [esp + 0x40], eax
cmp edx, 9
jge 0x486bdf
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x20], esi
mov edi, eax
mov eax, 0xcccccccd
mul ebx
shr edx, 3
mov dword [esp + 0x74], edx
lea esi, [edx + edx*4]
shl esi, 1
sub ebx, esi
mov eax, 0x19999999
mul ebx
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
mov eax, 0xcccccccd
mul edi
shr edx, 3
mov dword [esp + 0x68], edx
lea esi, [edx + edx*4]
shl esi, 1
sub edi, esi
lea ebx, [ebx + ebx*2]
lea ebx, [edi + ebx*2]
mov eax, 0xcccccccd
mov edi, edx
mul ebx
shr edx, 3
mov dword [esp + 0x64], edx
add edi, 0
mov dword [esp + 0x60], edi
mov ebx, dword [esp + 0x6c]
add edi, ebx
mov dword [esp + 0x6c], edi
add edi, edx
mov dword [esp + 0x5c], edi
mov eax, edi
mov esi, 0xa
mul esi
mov esi, dword [esp + 0x68]
add esi, 0
mov esi, dword [esp + 0x74]
adc esi, 0
mov edi, dword [esp + 0x60]
add edi, ebx
mov ebx, dword [esp + 0x70]
adc esi, ebx
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x64]
add ebx, edi
adc esi, 0
lea ebx, [esi + esi*4]
lea ebx, [edx + ebx*2]
mov edi, dword [esp + 0x40]
sub edi, eax
mov eax, esi
mov esi, dword [esp + 0x44]
sbb esi, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x486ba1
mov ebx, 1
jmp 0x486bb1
test esi, esi
setne bl
test edi, edi
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebx, ebp
test bl, bl
je 0x486bd6
mov ebp, dword [esp + 0x20]
lea esi, [ebp - 1]
cmp esi, 0x1f
jae 0x4871f0
add edi, 0x30
xchg edi, eax
mov byte [esp + ebp + 0x83], al
xchg edi, eax
jmp 0x486abe
mov esi, dword [esp + 0x20]
jmp 0x486abe
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x486bfb
lea ebp, [esi - 1]
cmp ebp, 0x1f
jae 0x4871e4
mov byte [esp + esi + 0x83], 0x2e
jmp 0x486bfd
mov ebp, esi
cmp ebp, 0x20
ja 0x4871d8
mov dword [esp + 0x2c], ebp
mov edx, eax
mov eax, 0x88888889
mov esi, edx
mul ebx
shr edx, 5
mov dword [esp + 0x74], edx
imul edi, edx, 0x3c
mov eax, ebx
sub ebx, edi
mov edi, eax
mov eax, 0x4444444
mul ebx
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
mov eax, 0x88888889
mul esi
shr edx, 5
mov dword [esp + 0x68], edx
imul ebp, edx, 0x3c
sub esi, ebp
shl ebx, 4
add ebx, esi
mov eax, 0x88888889
mov esi, edx
mul ebx
shr edx, 5
mov dword [esp + 0x64], edx
add esi, 0
mov ebx, dword [esp + 0x6c]
add ebx, esi
mov dword [esp + 0x60], ebx
add ebx, edx
mov dword [esp + 0x5c], ebx
mov eax, ebx
mov ebp, 0x3c
mul ebp
mov ebp, dword [esp + 0x68]
add ebp, 0
mov ebp, dword [esp + 0x74]
adc ebp, 0
mov ebx, dword [esp + 0x6c]
add ebx, esi
mov ebx, dword [esp + 0x70]
adc ebx, ebp
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
add ebp, esi
adc ebx, 0
mov dword [esp + 0x58], ebx
imul ebp, ebx, 0x3c
add edx, ebp
mov ebp, dword [esp + 0x40]
sub ebp, eax
sbb edi, edx
test edi, edi
sete dl
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and edx, esi
test dl, dl
je 0x486ce0
mov edx, dword [esp + 0x2c]
lea eax, [edx - 1]
cmp edx, eax
jbe 0x4871d1
mov byte [esp + edx + 0x83], 0x30
jmp 0x486de2
mov edx, dword [esp + 0x2c]
mov eax, edx
jmp 0x486d0e
mov dword [esp + 0x54], esi
lea esi, [edx + 0x30]
xchg esi, eax
mov byte [esp + ebx + 0x83], al
xchg esi, eax
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x58]
mov ebp, edx
mov edi, esi
mov edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
test ebp, ebp
xchg esi, ebx
seta bl
xchg esi, ebx
test edi, edi
sete bl
seta dl
and ebx, esi
or ebx, edx
test bl, bl
je 0x486dda
mov dword [esp + 0x38], ebp
mov eax, 0xcccccccd
mul edi
shr edx, 3
lea esi, [edx + edx*4]
shl esi, 1
sub edi, esi
mov eax, 0x19999999
mov esi, edx
mul edi
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
lea edi, [edi + edi*2]
mov eax, 0xcccccccd
mul ebp
shr edx, 3
mov dword [esp + 0x6c], edx
lea ebx, [edx + edx*4]
shl ebx, 1
sub ebp, ebx
lea ebx, [ebp + edi*2]
mov eax, 0xcccccccd
mov edi, edx
mul ebx
shr edx, 3
mov dword [esp + 0x68], edx
add edi, 0
mov dword [esp + 0x64], edi
mov ebx, dword [esp + 0x70]
add edi, ebx
add edx, edi
mov dword [esp + 0x70], edx
mov eax, edx
mov ebp, 0xa
mul ebp
mov edx, dword [esp + 0x6c]
add edx, 0
adc esi, 0
mov edx, dword [esp + 0x64]
add edx, ebx
mov edx, dword [esp + 0x74]
adc esi, edx
mov edx, dword [esp + 0x68]
add edx, edi
adc esi, 0
mov edx, dword [esp + 0x38]
sub edx, eax
mov ebx, dword [esp + 0x1c]
lea eax, [ebx - 1]
mov edi, dword [esp + 0x2c]
cmp edi, eax
ja 0x486ce8
jmp 0x4871ca
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x5c]
test edx, edx
xchg ebp, ebx
seta bl
xchg ebp, ebx
test ebx, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
xchg edi, ebx
seta bl
xchg edi, ebx
and esi, ebp
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x486f08
lea ebp, [eax - 1]
cmp ebp, 0x20
jae 0x4871be
mov dword [esp + 0x80], eax
mov dword [esp + 0x2c], ebp
mov eax, 0x88888889
mov edi, edx
mul ebx
shr edx, 5
mov dword [esp + 0x74], edx
imul ebp, edx, 0x3c
sub ebx, ebp
mov eax, ebx
mov ebp, 0x4444444
mul ebp
mov dword [esp + 0x70], edx
mov ebp, eax
mov eax, 0x88888889
mul edi
shr edx, 5
mov dword [esp + 0x6c], edx
imul esi, edx, 0x3c
sub edi, esi
shl ebx, 4
add ebx, edi
mov eax, 0x88888889
mov edi, edx
mul ebx
shr edx, 5
mov dword [esp + 0x68], edx
add edi, 0
mov ebx, ebp
add ebp, edi
add edx, ebp
mov dword [esp + 0x64], edx
mov eax, edx
mov esi, 0x3c
mul esi
mov esi, dword [esp + 0x6c]
add esi, 0
mov esi, dword [esp + 0x74]
adc esi, 0
add ebx, edi
mov ebx, dword [esp + 0x70]
adc ebx, esi
mov esi, dword [esp + 0x68]
add esi, ebp
adc ebx, 0
imul ebp, ebx, 0x3c
add edx, ebp
mov ebp, dword [esp + 0x5c]
sub ebp, eax
mov esi, dword [esp + 0x58]
sbb esi, edx
test ebp, ebp
sete dl
test esi, esi
xchg edi, ebx
sete bl
xchg edi, ebx
mov eax, ebx
mov ebx, dword [esp + 0x80]
mov byte [esp + ebx + 0x83], 0x6d
and edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x486ef9
lea edx, [ebx - 2]
mov ebp, dword [esp + 0x2c]
cmp edx, ebp
jae 0x4871b5
mov byte [esp + ebx + 0x82], 0x30
jmp 0x48706d
mov dword [esp + 0x58], eax
mov edx, dword [esp + 0x2c]
mov ebx, edx
jmp 0x486fa1
test ecx, ecx
jge 0x486f1e
lea edx, [eax - 1]
cmp edx, 0x20
jae 0x486f77
mov byte [esp + eax + 0x83], 0x2d
jmp 0x486f20
mov edx, eax
cmp edx, 0x20
ja 0x486f6b
mov dword [esp], 0
lea eax, [edx - 0x20]
neg eax
mov ecx, eax
neg eax
sar eax, 0x1f
and edx, eax
lea eax, [esp + edx + 0x84]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044dec0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], ecx
add esp, 0xa4
ret
mov eax, edx
mov ecx, 0x20
call fcn.00463810
mov eax, edx
mov ecx, 0x20
call fcn.004637b0
lea edi, [ebx + 0x30]
xchg edi, eax
mov byte [esp + esi + 0x83], al
xchg edi, eax
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x60]
mov ebp, edi
mov esi, edx
mov edx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], edx
test ebp, ebp
xchg edi, ebx
seta bl
xchg edi, ebx
test esi, esi
sete bl
seta dl
and ebx, edi
or ebx, edx
test bl, bl
je 0x487069
mov dword [esp + 0x34], ebp
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea edi, [edx + edx*4]
shl edi, 1
sub esi, edi
mov eax, 0x19999999
mov edi, edx
mul esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
lea esi, [esi + esi*2]
mov eax, 0xcccccccd
mul ebp
shr edx, 3
mov dword [esp + 0x6c], edx
lea ebx, [edx + edx*4]
shl ebx, 1
sub ebp, ebx
lea ebx, [ebp + esi*2]
mov eax, 0xcccccccd
mov esi, edx
mul ebx
shr edx, 3
mov dword [esp + 0x68], edx
add esi, 0
mov ebx, dword [esp + 0x70]
add ebx, esi
add edx, ebx
mov dword [esp + 0x60], edx
mov eax, edx
mov ebp, 0xa
mul ebp
mov edx, dword [esp + 0x6c]
add edx, 0
adc edi, 0
mov edx, dword [esp + 0x70]
add edx, esi
mov edx, dword [esp + 0x74]
adc edx, edi
mov esi, dword [esp + 0x68]
add esi, ebx
adc edx, 0
mov ebx, dword [esp + 0x34]
sub ebx, eax
mov esi, dword [esp + 0x18]
lea eax, [esi - 1]
mov edi, dword [esp + 0x2c]
cmp eax, edi
jb 0x486f83
jmp 0x4871ae
mov edx, dword [esp + 0x18]
test eax, eax
seta bl
mov ebp, dword [esp + 0x64]
test ebp, ebp
xchg esi, ebx
seta bl
xchg esi, ebx
test eax, eax
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, esi
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4870ae
lea ebx, [edx - 1]
cmp ebx, 0x20
jae 0x4871a2
mov dword [esp + 0x2c], ebx
mov byte [esp + edx + 0x83], 0x68
mov edx, ebx
jmp 0x4870cd
test ecx, ecx
mov eax, edx
jmp 0x486f0a
lea edi, [ebx + 0x30]
xchg edi, eax
mov byte [esp + ebp + 0x83], al
xchg edi, eax
mov ebp, dword [esp + 0x68]
mov ebx, eax
mov eax, edx
mov edx, esi
test ebp, ebp
xchg esi, ebx
seta bl
xchg esi, ebx
test eax, eax
xchg edi, ebx
seta bl
xchg edi, ebx
sete dl
and edx, esi
or edx, edi
test dl, dl
je 0x487192
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x30], ebp
mov edx, eax
mov eax, 0xcccccccd
mov esi, edx
mul edx
shr edx, 3
lea edi, [edx + edx*4]
shl edi, 1
sub esi, edi
mov eax, 0x19999999
mov edi, edx
mul esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov eax, 0xcccccccd
mul ebp
shr edx, 3
lea ebx, [edx + edx*4]
shl ebx, 1
sub ebp, ebx
lea ebx, [esi + esi*2]
lea ebx, [ebp + ebx*2]
mov eax, 0xcccccccd
mov esi, edx
mul ebx
shr edx, 3
mov dword [esp + 0x6c], edx
mov ebx, esi
add esi, 0
mov ebp, dword [esp + 0x70]
add ebp, esi
add edx, ebp
mov dword [esp + 0x68], edx
mov eax, 0xa
mul edx
add ebx, 0
adc edi, 0
mov edx, dword [esp + 0x70]
add edx, esi
mov edx, dword [esp + 0x74]
adc edx, edi
mov ebx, dword [esp + 0x6c]
add ebx, ebp
adc edx, 0
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov ebp, dword [esp + 0x7c]
lea eax, [ebp - 1]
mov esi, dword [esp + 0x2c]
cmp eax, esi
jb 0x4870b7
jmp 0x48719b
test ecx, ecx
mov edx, ebx
jmp 0x4870b0
mov ecx, esi
call fcn.004637b0
mov eax, ebx
mov ecx, 0x20
call fcn.004637b0
mov ecx, edi
call fcn.004637b0
mov eax, edx
mov ecx, ebp
call fcn.004637b0
mov eax, ebp
mov ecx, 0x20
call fcn.004637b0
mov ecx, edi
call fcn.004637b0
mov ecx, edx
call fcn.004637b0
mov ecx, ebp
mov edx, 0x20
call fcn.004637d0
mov eax, ebp
mov ecx, 0x1f
call fcn.004637b0
mov eax, esi
mov ecx, 0x1f
call fcn.004637b0
mov ebx, dword [esp + 0x50]
inc ebx
mov esi, dword [esp + 0x48]
mov esi, ebp
xchg edi, eax
mov byte [esp + 0x17], al
xchg edi, eax
mov ebp, eax
mov eax, dword [esp + 0x78]
mov edi, ebx
mov ebx, edx
mov edx, dword [esp + 0x48]
cmp edi, edx
jge 0x48732f
mov dword [esp + 0x50], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x70], ebx
mov eax, 0xcccccccd
mul ebx
shr edx, 3
mov dword [esp + 0x6c], edx
lea edi, [edx + edx*4]
shl edi, 1
sub ebx, edi
mov eax, 0x19999999
mul ebx
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], eax
mov eax, 0xcccccccd
mov edi, dword [esp + 0x74]
mul edi
shr edx, 3
mov dword [esp + 0x60], edx
lea esi, [edx + edx*4]
shl esi, 1
sub edi, esi
lea ebx, [ebx + ebx*2]
lea ebx, [edi + ebx*2]
mov eax, 0xcccccccd
mov edi, edx
mul ebx
shr edx, 3
mov dword [esp + 0x5c], edx
add edi, 0
mov ebx, dword [esp + 0x64]
add ebx, edi
add edx, ebx
mov dword [esp + 0x78], edx
mov eax, edx
mov esi, 0xa
mul esi
mov esi, dword [esp + 0x60]
add esi, 0
mov esi, dword [esp + 0x6c]
adc esi, 0
mov ebp, dword [esp + 0x64]
add ebp, edi
mov ebp, dword [esp + 0x68]
adc ebp, esi
mov esi, dword [esp + 0x5c]
add esi, ebx
adc ebp, 0
lea ebx, [ebp + ebp*4]
lea ebx, [edx + ebx*2]
mov esi, dword [esp + 0x74]
sub esi, eax
mov edi, dword [esp + 0x70]
sbb edi, ebx
movzx ebx, byte [esp + 0x17]
test bl, bl
je 0x4872e4
mov edi, 1
jmp 0x4872f4
test esi, esi
setne bl
test edi, edi
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x487320
mov ebx, dword [esp + 0x28]
lea eax, [ebx - 1]
mov edx, ebp
mov ebp, dword [esp + 0x2c]
cmp ebp, eax
jbe 0x4874a1
add esi, 0x30
xchg esi, eax
mov byte [esp + ebx + 0x83], al
xchg esi, eax
jmp 0x4871fc
mov edx, ebp
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
jmp 0x4871fc
movzx edi, byte [esp + 0x17]
xchg edi, eax
test al, al
xchg edi, eax
je 0x48734f
lea edi, [ebp - 1]
cmp esi, edi
jbe 0x487498
mov byte [esp + ebp + 0x83], 0x2e
jmp 0x487351
mov edi, ebp
cmp edi, 0x20
ja 0x48748c
test ebx, ebx
sete dl
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
jne 0x487376
mov dword [esp + 0x2c], edi
mov edx, edi
jmp 0x4873ad
lea eax, [edi - 1]
cmp edi, eax
jbe 0x48738c
mov byte [esp + edi + 0x83], 0x30
test ecx, ecx
jmp 0x486f0a
mov ecx, edi
call fcn.004637b0
lea ebp, [ebx + 0x30]
xchg ebp, eax
mov byte [esp + esi + 0x83], al
xchg ebp, eax
mov ebp, dword [esp + 0x64]
mov ebx, edx
mov edi, eax
mov edx, dword [esp + 0x2c]
mov eax, ebp
test ebx, ebx
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test eax, eax
seta dl
and esi, edx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x48747c
mov dword [esp + 0x24], edi
mov dword [esp + 0x3c], eax
mov edx, eax
mov eax, 0xcccccccd
mov ebp, edx
mul ebx
shr edx, 3
lea esi, [edx + edx*4]
shl esi, 1
sub ebx, esi
mov eax, 0x19999999
mov esi, edx
mul ebx
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
mov eax, 0xcccccccd
mul ebp
shr edx, 3
mov dword [esp + 0x6c], edx
lea edi, [edx + edx*4]
shl edi, 1
sub ebp, edi
lea ebx, [ebx + ebx*2]
lea ebx, [ebp + ebx*2]
mov eax, 0xcccccccd
mov edi, edx
mul ebx
shr edx, 3
mov dword [esp + 0x68], edx
add edi, 0
mov ebx, dword [esp + 0x70]
add ebx, edi
add edx, ebx
mov dword [esp + 0x64], edx
mov eax, edx
mov ebp, 0xa
mul ebp
mov edx, dword [esp + 0x6c]
add edx, 0
adc esi, 0
mov edx, dword [esp + 0x70]
add edx, edi
mov edx, dword [esp + 0x74]
adc edx, esi
mov esi, dword [esp + 0x68]
add esi, ebx
adc edx, 0
mov ebx, dword [esp + 0x3c]
sub ebx, eax
mov esi, dword [esp + 0x24]
lea eax, [esi - 1]
mov edi, dword [esp + 0x2c]
cmp edi, eax
ja 0x487393
jmp 0x487485
test ecx, ecx
mov eax, edi
jmp 0x486f0a
mov ecx, edi
call fcn.004637b0
mov ecx, edi
mov edx, 0x20
call fcn.004637d0
mov eax, edi
mov ecx, esi
call fcn.004637b0
mov ecx, ebp
call fcn.004637b0
nop
call fcn.00462320
jmp fcn.00486950