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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x480253
add esp, 0xffffff80
mov edx, dword [esp + 0x9c]
test edx, edx
sete bl
mov ebp, dword [esp + 0x98]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
test bl, bl
je 0x47f93f
xor eax, eax
jmp 0x47f946
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx]
lea ecx, [ebx - 0x3c]
neg ecx
cmp ecx, 0x20
sbb ebx, ebx
lea esi, [ecx - 0x20]
mov dword [esp + 0x60], esi
cmp esi, 0x20
sbb edi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x5c], esi
cmp esi, 0x20
sbb esi, esi
shl ebp, cl
shl edx, cl
and ebp, ebx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x98]
shl ebp, cl
and ebp, edi
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x98]
shr edi, cl
and edi, esi
and edx, ebx
or edx, edi
or edx, ebp
mov ebx, dword [esp + 0x58]
jmp 0x47f9b6
shl edx, 1
mov ebp, ebx
shr ebx, 0x1f
or edx, ebx
shl ebp, 1
dec eax
mov ebx, ebp
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x47f9e6
test edx, 0x10000000
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x47f9a8
mov ebp, dword [esp + 0x90]
cmp ebp, 0xf
jae 0x47fb6c
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], edx
shl ebp, 2
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x60], edi
lea ecx, [ebp - 0x20]
mov dword [esp + 0x5c], ecx
neg ecx
cmp ecx, 0x20
sbb esi, esi
mov edi, dword [esp + 0x5c]
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x58], edi
lea edi, [ebp - 0x3c]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x4c], edi
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x48], edx
lea edx, [edi - 0x20]
mov dword [esp + 0x44], edx
neg edx
mov dword [esp + 0x40], edx
cmp edx, 0x20
sbb edx, edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x44]
cmp edx, 0x20
sbb edx, edx
mov dword [esp + 0x38], edx
shr ebx, cl
and ebx, esi
mov ecx, ebp
mov esi, dword [esp + 0x50]
shl esi, cl
mov edx, dword [esp + 0x60]
and esi, edx
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
shl edi, cl
mov ecx, edx
mov edx, dword [esp + 0x58]
and edx, edi
or esi, ebx
or esi, edx
and esi, 0xfffffff
cmp esi, 0x8000000
sete dl
mov byte [esp + 0x23], dl
mov ebx, ecx
mov ecx, ebp
mov edi, dword [esp + 0x54]
mov ebp, edi
shl edi, cl
and edi, ebx
mov ecx, dword [esp + 0x4c]
shr ebp, cl
mov ebx, dword [esp + 0x48]
and ebp, ebx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
shl edx, cl
mov ebx, dword [esp + 0x3c]
and edx, ebx
or edx, ebp
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x50]
shr ebx, cl
mov ebp, dword [esp + 0x38]
and ebx, ebp
or edx, ebx
mov ebx, edx
and edx, 1
or edx, edi
test edx, edx
seta dl
cmp esi, 0x8000000
xchg esi, ebx
seta bl
xchg esi, ebx
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
shr ebp, cl
mov edi, dword [esp + 0x48]
and ebp, edi
movzx edi, byte [esp + 0x23]
and edi, edx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x47fb15
add ebx, 1
adc ebp, 0
mov edx, ecx
mov ecx, dword [esp + 0x44]
mov esi, ebx
shl ebx, cl
mov edi, dword [esp + 0x38]
and ebx, edi
mov ecx, dword [esp + 0x40]
mov edi, esi
shr esi, cl
mov ecx, edi
mov edi, dword [esp + 0x3c]
and esi, edi
mov edi, ecx
mov ecx, edx
shl ebp, cl
mov edx, dword [esp + 0x48]
and ebp, edx
or esi, ebp
or esi, ebx
shl edi, cl
and edi, edx
test esi, 0x20000000
je 0x47fb5f
shr edi, 1
mov ecx, esi
shl esi, 0x1f
or edi, esi
shr ecx, 1
inc eax
jmp 0x47fb61
mov ecx, esi
mov ebp, dword [esp + 0x90]
mov ebx, edi
mov edx, ecx
movzx ecx, byte [esp + 0x94]
cmp cl, 0x58
jne 0x47fb81
lea esi, [0x690224]
jmp 0x47fb87
lea esi, [0x690234]
mov dword [esp + 0x74], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x5c], edx
movzx edi, byte [esp + 0x95]
xchg edi, eax
test al, al
xchg edi, eax
je 0x47fc32
mov edi, dword [esp + 0x88]
lea esi, [edi + 1]
mov ebp, dword [esp + 0x8c]
cmp ebp, esi
jb 0x47fbd3
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x6c]
jmp 0x47fc28
lea eax, [0x659160]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00448460
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [ecx + 1]
movzx ecx, byte [esp + 0x94]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x7c], eax
mov ebp, edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x7c]
mov byte [ebx + edi], 0x2d
jmp 0x47fc47
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
lea edi, [esi + 3]
cmp ebp, edi
jae 0x47fc93
mov dword [esp + 0x30], esi
lea eax, [0x659160]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 3]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x94]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x30], edi
mov byte [ebx + esi], 0x30
mov byte [ebx + esi + 1], cl
shr edx, 0x1c
and edx, 1
add edx, 0x30
mov byte [ebx + esi + 2], dl
mov edx, dword [esp + 0x5c]
shl edx, 4
mov esi, dword [esp + 0x60]
shr esi, 0x1c
or esi, edx
mov dword [esp + 0x5c], esi
mov edx, dword [esp + 0x60]
shl edx, 4
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x90]
test ecx, ecx
jge 0x47fd45
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
test edx, edx
setne dl
or edx, esi
test dl, dl
je 0x47fd3b
lea ecx, [edi + 1]
cmp ebp, ecx
jae 0x47fd26
lea eax, [0x659160]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], 0x2e
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
jmp 0x4801c0
test ecx, ecx
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
jle 0x47fda9
lea ecx, [edi + 1]
cmp ebp, ecx
jae 0x47fd8b
lea eax, [0x659160]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], 0x2e
mov edi, dword [esp + 0x90]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
jmp 0x480119
movzx ecx, byte [esp + 0x94]
mov edx, ecx
or ecx, 0x20
cmp dl, cl
jne 0x47fdc1
mov ecx, 0x70
jmp 0x47fdc6
mov ecx, 0x50
lea edx, [edi + 1]
cmp ebp, edx
jae 0x47fe0f
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], cl
lea eax, [0x659160]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x20]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], cl
test eax, eax
jge 0x47fe1f
neg eax
mov ecx, 0x2d
jmp 0x47fe24
mov ecx, 0x2b
mov dword [esp + 0x34], eax
lea esi, [edx + 1]
cmp ebp, esi
jae 0x47fe71
mov dword [esp + 0x30], edx
mov byte [esp + 0x20], cl
lea eax, [0x659160]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x20]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x30], esi
mov byte [ebx + edx], cl
cmp eax, 0x64
jge 0x47fef5
lea ecx, [esi + 2]
mov edx, eax
mov eax, 0xcccccccd
mov edi, edx
imul edx
add edx, edi
sar edx, 3
mov eax, edi
sar edi, 0x1f
sub edx, edi
lea edi, [edx + edx*4]
shl edi, 1
sub eax, edi
cmp ebp, ecx
jae 0x47fee3
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], eax
lea eax, [0x659160]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 2]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
add edx, 0x30
mov byte [ebx + esi], dl
add eax, 0x30
mov byte [ebx + esi + 1], al
jmp 0x4800cc
mov dword [esp + 0x78], ebx
cmp eax, 0x3e8
jge 0x47ffd4
lea ecx, [esi + 3]
mov edx, eax
mov eax, 0xcccccccd
mov edi, edx
imul edx
add edx, edi
mov dword [esp + 0x2c], edx
sar edx, 3
mov dword [esp + 0x28], edx
mov eax, 0xcccccccd
imul edx
mov eax, esi
mov esi, dword [esp + 0x2c]
sar esi, 0x1f
mov ebx, dword [esp + 0x28]
add edx, ebx
sar edx, 3
sub edx, esi
lea edx, [edx + edx*4]
shl edx, 1
mov esi, ebx
sub ebx, edx
lea edx, [esi + esi*4]
shl edx, 1
mov esi, edi
sub edi, edx
cmp ebp, ecx
jb 0x47ff56
mov edx, dword [esp + 0x78]
jmp 0x47ffa1
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edi
lea edx, [0x659160]
mov dword [esp], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 3]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x28]
mov edx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x7c], edx
mov eax, 0x51eb851f
imul esi
sar edx, 5
add edx, 0x30
mov esi, dword [esp + 0x30]
mov eax, edi
mov edi, dword [esp + 0x7c]
mov byte [edi + esi], dl
lea edx, [ebx + 0x30]
mov byte [edi + esi + 1], dl
lea edx, [eax + 0x30]
mov byte [edi + esi + 2], dl
mov ebx, edi
jmp 0x4800cc
lea ecx, [esi + 4]
mov edx, eax
mov eax, 0x51eb851f
mov edi, edx
imul edx
sar edx, 5
mov eax, esi
movzx esi, dl
imul esi, esi, 0x19a
shr esi, 0xc
lea esi, [esi + esi*4]
shl esi, 1
sub edx, esi
mov byte [esp + 0x22], dl
mov esi, eax
mov eax, 0xcccccccd
imul edi
add edx, edi
mov dword [esp + 0x2c], edx
sar edx, 3
mov dword [esp + 0x28], edx
mov eax, 0xcccccccd
imul edx
mov eax, esi
mov esi, dword [esp + 0x28]
add edx, esi
sar edx, 3
mov ebx, dword [esp + 0x2c]
sar ebx, 0x1f
sub edx, ebx
lea edx, [edx + edx*4]
shl edx, 1
mov ebx, esi
sub esi, edx
lea edx, [ebx + ebx*4]
shl edx, 1
mov ebx, edi
sub edi, edx
mov dword [esp + 0x2c], edi
cmp ebp, ecx
jb 0x48004f
mov edx, dword [esp + 0x78]
jmp 0x480096
mov dword [esp + 0x28], esi
lea edx, [0x659160]
mov dword [esp], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 4]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov eax, ebx
mov edi, 0x4189374c
mov ebx, edx
imul edi
sar edx, 8
add edx, 0x30
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], dl
movzx edx, byte [esp + 0x22]
add edx, 0x30
mov byte [ebx + edi + 1], dl
lea edx, [esi + 0x30]
mov byte [ebx + edi + 2], dl
mov edx, dword [esp + 0x2c]
add edx, 0x30
mov byte [ebx + edi + 3], dl
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebp
sub esp, 0xffffff80
ret
xchg esi, eax
mov byte [ebx + ecx], al
xchg esi, eax
mov ecx, dword [esp + 0x24]
inc ecx
mov esi, dword [esp + 0x5c]
shl esi, 4
mov eax, dword [esp + 0x60]
shr eax, 0x1c
or esi, eax
mov eax, dword [esp + 0x60]
shl eax, 4
mov dword [esp + 0x24], ecx
mov edx, eax
mov ecx, edi
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x24]
cmp edi, edx
jle 0x48018b
mov dword [esp + 0x5c], esi
lea edi, [ecx + 1]
shr esi, 0x1c
and esi, 0xf
mov edx, dword [esp + 0x74]
movzx esi, byte [edx + esi]
cmp ebp, edi
jae 0x4800e5
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov dword [esp + 0x2c], ecx
lea eax, [0x659160]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
movzx esi, byte [esp + 0x21]
jmp 0x4800e5
mov edi, ecx
jmp 0x47fda9
mov eax, dword [esp + 0x7c]
xchg esi, ebx
mov byte [eax + ecx], bl
xchg esi, ebx
shl ebx, 4
mov esi, dword [esp + 0x60]
mov ecx, esi
shr esi, 0x1c
or esi, ebx
shl ecx, 4
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x7c]
mov ebx, edx
mov edx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x60], edx
test esi, esi
setne bl
test edx, edx
setne dl
or ebx, edx
test bl, bl
je 0x480248
lea edx, [ecx + 1]
mov ebx, esi
shr esi, 0x1c
and esi, 0xf
movzx esi, byte [edi + esi]
cmp ebp, edx
jae 0x480192
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x2c], ecx
lea eax, [0x659160]
mov dword [esp], eax
mov ebx, dword [esp + 0x7c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00448460
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
movzx esi, byte [esp + 0x21]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x5c]
jmp 0x480192
mov edi, ecx
mov ebx, dword [esp + 0x7c]
jmp 0x47fda9
call fcn.0045e340
jmp fcn.0047f900