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

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0x10], 0
push ebx
push esi
movzx esi, word [ecx]
push edi
je 0x40901f
mov eax, esi
and eax, 0xfc00
cmp eax, 0xd800
je 0x48c4ba
push 2
pop edi
push 0xa
pop ebx
cmp edx, edi
jne 0x48c510
cmp esi, ebx
je 0x409041
cmp esi, 0xd
je 0x48c4d7
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
xor edx, edx
jmp 0x48c503
or byte [ebx + 0x42890c40], cl
or al, 0xff
add byte [ecx + 0x46c70856], cl
or al, 4
add byte [eax], al
add byte [ebx - 0x3da2a13a], cl
add al, 0
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x5c
push ebx
mov ebx, dword [ebp + 8]
push esi
mov eax, dword [ebx + 4]
inc ebx
add al, 0x89
dec esp
and al, 0x30
mov esi, dword [eax]
push edi
mov ecx, esi
call fcn.0040936c
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.0040936c
mov eax, dword [esi + 8]
mov edi, dword [eax + 4]
mov eax, dword [ebx + 4]
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.0040936c
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 4]
mov esi, dword [eax + 4]
mov ecx, esi
call fcn.0040936c
mov eax, dword [esi + 8]
push edi
mov esi, dword [eax + 4]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x18], esi
call fcn.00406b0f
mov eax, dword [ebp + 8]
xor ebx, ebx
xor ecx, ecx
mov dl, bl
inc ecx
cmp dword [eax + 8], 3
mov dword [esp + 0x2c], ebx
mov byte [esp + 0xf], dl
jb 0x409337
mov eax, dword [eax + 4]
mov ecx, dword [eax + 8]
call fcn.0040d286
xor ecx, ecx
inc ecx
mov dword [esp + 0x2c], eax
test al, 2
je 0x409330
mov dl, cl
and eax, ecx
mov byte [esp + 0xf], dl
mov dword [esp + 0x2c], eax
test esi, esi
je 0x47c982
sub eax, ebx
je 0x47ca28
dec eax
jne 0x40933e
mov dword [esp + 0x18], ebx
test edi, edi
jle 0x4091bd
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
push edi
mov dx, word [eax]
mov ecx, esi
call fcn.0040934f
mov edx, eax
pop ecx
mov dword [esp + 0x30], edx
test edx, edx
je 0x409319
mov eax, dword [esp + 0x14]
mov ecx, edx
sub ecx, esi
sar ecx, 1
add ecx, eax
sub edi, ecx
js 0x409319
push eax
push dword [esp + 0x20]
push edx
call fcn.004216f5
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x3c]
add esp, 0xc
test eax, eax
jne 0x47ca1d
inc dword [esp + 0x18]
lea esi, [esi + ecx*2]
test edi, edi
jg 0x409162
mov edi, dword [ebp + 8]
mov eax, dword [edi + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.0040936c
mov eax, dword [esi + 8]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.0040936c
mov eax, dword [esi + 8]
mov esi, dword [esp + 0x18]
mov edi, dword [eax + 4]
test esi, esi
jle 0x47cb44
lea eax, [esi + 1]
xor esi, esi
inc esi
cmp byte [esp + 0xf], 0
mov dword [esp + 0x30], eax
je 0x47ca6f
push eax
push esi
push dword [ebp + 0xc]
call fcn.0041c050
add esp, 0xc
mov dword [esp + 0x18], ebx
lea ecx, [esp + 0x38]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
call fcn.0040bcce
cmp dword [esp + 0x30], 0
jle 0x409305
mov eax, dword [esp + 0x2c]
sub eax, ebx
je 0x47cac5
dec eax
jne 0x4092f7
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x1c]
push edi
mov dx, word [ecx]
mov ecx, eax
call fcn.0040934f
mov edx, eax
pop ecx
mov dword [esp + 0x20], edx
test edx, edx
je 0x409320
add byte [eax], al
mov eax, dword [esp + 0x14]
mov ecx, edx
sub ecx, dword [esp + 0x10]
sar ecx, 1
add ecx, eax
sub edi, ecx
js 0x409348
push eax
push dword [esp + 0x20]
push edx
call fcn.0042185b
add esp, 0xc
test eax, eax
jne 0x47caae
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
mov eax, edx
sub eax, ecx
sar eax, 1
push eax
push ebx
push ecx
lea ecx, [esp + 0x44]
call fcn.0040c24f
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x4c]
call fcn.00409048
push dword [esp + 0x18]
lea eax, [esp + 0x4c]
push esi
push eax
push dword [ebp + 0xc]
call fcn.004129d0
add esp, 0x10
inc dword [esp + 0x18]
lea ecx, [esp + 0x48]
call fcn.00412c20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc dword [esp + 0x24]
lea eax, [ecx + eax*2]
mov dword [esp + 0x10], eax
ret 0xc12b
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x30]
jl 0x409235
lea ecx, [esp + 0x38]
call fcn.0040cb37
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edi, ebx
jmp 0x4091b9
mov eax, dword [esp + 0x10]
lea edx, [eax + edi*2]
mov dword [esp + 0x20], edx
jmp 0x40929e
mov dl, bl
jmp 0x40913f
mov eax, ebx
jmp 0x40913f
or dword [esp + 0x18], 0xffffffff
jmp 0x47cb44
add eax, edi
lea edx, [edx + eax*2]
jmp 0x409327
add ah, bh
add byte [eax], al
and al, 0x18
stc
inc dword [ebp + 0x318e0fff]
leave
clc
call dword [esi + 0x53]
push esi
push ebx
push dword [esp + 0x18]
lea ecx, [esp + 0x44]
call fcn.0040c2a2
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x4c]
call fcn.0040909b
push dword [esp + 0x28]
lea eax, [esp + 0x4c]
push esi
push eax
add byte [ebp + 0xc], dh
call fcn.00412a23
add esp, 0x10
inc dword [esp + 0x28]
lea ecx, [esp + 0x48]
call fcn.00412c73
inc ebx
cmp ebx, edi
jl 0x47ca27
jmp 0x409358
dec dword [ecx - 0x7d]
mov byte [edx], 3
stc
jmp 0xe340920c
test edi, edi
jle 0x7546b197
mov ebx, dword [esp + 0x10]
dec eax
je 0x47caba
adc al, 0x66
mov edx, dword [ebx + eax*2]
mov ecx, dword [esp + 0x20]
call fcn.004093a2
pop ecx
test eax, eax
je 0x47caaa
inc esi
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
cmp eax, edi
jl 0x47ca93
mov dword [esp + 0x18], esi
xor ebx, ebx
jmp 0xe340923e
sbb byte [ebx], dh
fucomi st(1)
jl 0x47ca87
clc
loop 0x47cb03
push eax
push esi
push dword [ebp + 0xc]
call fcn.0041c0a3
mov eax, dword [esp + 0x3c]
push ebx
mov dword [esp + 0x58], eax
push esi
lea eax, [esp + 0x5c]
push eax
add byte [ebp + 0xc], dh
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], esi
call fcn.00412a23
add esp, 0x1c
lea ecx, [esp + 0x48]
call fcn.00412c73
mov dword [esp + 0x18], esi
jmp 0x40926c
and al, 0x20
mov ecx, dword [esp + 0x14]
add eax, 2
dec ecx
mov dword [esp + 0x10], eax
add edi, ecx
jmp 0x4092a3
and al, 0x34
lea ecx, [esp + 0x3c]
call fcn.0040c7ec
jmp 0x47cb8e
inc dword [esp + 0x28]
jmp 0x40934a
push ebp
sbb al, 0x8d
cmp al, 0x7d
add bh, byte [0xfa3b00ff]
jle 0x48c4c9
mov edi, edx
lea edx, [eax + ecx*4]
lea ecx, [eax + edi*4]
cmp edx, ecx
jae 0x40a08e
sub ecx, edx
dec ecx
shr ecx, 2
inc ecx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x18]
jmp 0x40a08e
dec eax
add al, dl
ret 0x48
add bh, byte [edi + 0x3ff]
and esi, edi
and eax, edi
shl esi, 0xa
or esi, eax
add esi, 0xfee70000
jmp 0x409072