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

Disassembly:
sub esp, 0x28
movsd xmm0, qword [esp + 0x38]
push ebx
mov ebx, dword [esp + 0x38]
push ebp
push esi
mov esi, dword [esp + 0x3c]
push edi
push ecx
push ecx
mov dword [esp + 0x3c], esi
movsd qword [esp], xmm0
call fcn.10026ddc
mov ebp, eax
or eax, edx
pop ecx
pop ecx
mov dword [esp + 0x1c], ebp
jne 0x1001fccf
mov edi, dword [esp + 0x50]
xor ecx, ecx
test edi, edi
mov eax, ebx
setne cl
sub eax, esi
inc ecx
add ecx, edi
cmp eax, ecx
jl 0x100200a8
mov byte [esi], 0x30
inc esi
test edi, edi
je 0x1001fcc0
mov byte [esi], 0x2e
inc esi
lea eax, [esp + 0x40]
mov byte [esp + 0x40], 0x30
push eax
push edi
push esi
call fcn.10020eb4
add esp, 0xc
add esi, edi
mov eax, dword [esp + 0x3c]
and dword [eax + 4], 0
mov dword [eax], esi
jmp 0x100200b5
mov ecx, edx
shr edx, 0x14
and ecx, 0xfffff
mov dword [esp + 0x18], ecx
push 9
pop edi
test edx, edx
jne 0x1001fcef
mov ebp, 0xfffffbce
jmp 0x1001fe0f
lea eax, [edx - 0x433]
mov byte [esp + 0x13], 0
or ecx, 0x100000
mov edx, ebp
mov dword [esp + 0x20], edx
mov ebp, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
cmp eax, 0xffffffcc
jl 0x1001fe0f
xor edx, edx
test eax, eax
jns 0x1001fd31
and dword [esp + 0x28], edx
inc edx
push 0x78
pop ecx
mov dword [esp + 0x24], edx
jmp 0x1001fd76
add eax, 0xf
mov esi, dword [esp + 0x20]
shr eax, 4
mov ecx, eax
mov dword [esp + 0x28], eax
imul eax, eax, 0x134410
shl ecx, 4
mov dword [esp + 0x1c], esi
add ecx, 0x78
mov esi, dword [esp + 0x14]
mov dword [esp + 0x18], esi
shr eax, 0x12
add eax, 0x19
mov esi, dword [esp + 0x40]
div edi
mov edx, eax
mov eax, ebp
sub edx, 1
mov dword [esp + 0x24], edx
js 0x1001fe0f
mov ebp, dword [esp + 0x14]
sub ecx, eax
add ecx, 8
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x20]
shld ebp, ecx, 8
mov dword [esp + 0x2c], ebp
mov ebp, eax
mov eax, dword [esp + 0x20]
shl ecx, 8
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
push dword [esp + 0x40]
movzx eax, word [eax*2 + 0x100c6370]
add eax, edx
imul eax, eax, 0x18
add eax, 0x1012f2d8
push eax
push dword [esp + 0x34]
push ecx
call fcn.100276fa
add esp, 0x10
mov dword [esp + 0x20], eax
cmp byte [esp + 0x13], 0
je 0x1001ff5f
mov ecx, ebx
sub ecx, esi
cmp ecx, edi
jl 0x100200a8
push esi
push eax
call fcn.1001fbce
pop ecx
pop ecx
add esi, edi
mov al, byte [esp + 0x13]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
sub edx, 1
mov dword [esp + 0x24], edx
jns 0x1001fda8
test al, al
jne 0x1001fe1b
cmp esi, ebx
je 0x100200a8
mov byte [esi], 0x30
inc esi
mov edi, dword [esp + 0x50]
test edi, edi
je 0x1001fe2f
cmp esi, ebx
je 0x100200a8
mov byte [esi], 0x2e
inc esi
test ebp, ebp
jns 0x1002009c
mov eax, ebp
cdq
and edx, 0xf
add eax, edx
xor edx, edx
sar eax, 4
neg eax
mov dword [esp + 0x20], eax
mov eax, edi
push 9
pop ecx
div ecx
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ecx
lea edx, [eax + 1]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x28], edx
movzx eax, byte [eax + 0x100c6480]
cmp edx, eax
jbe 0x1002009c
test eax, eax
je 0x1001feb0
imul ecx, eax, 9
mov dword [esp + 0x14], eax
mov eax, ebx
sub eax, esi
mov dword [esp + 0x30], ecx
cmp eax, ecx
jl 0x100200a8
lea eax, [esp + 0x40]
mov byte [esp + 0x40], 0x30
push eax
push ecx
push esi
call fcn.10020eb4
mov ecx, dword [esp + 0x20]
add esp, 0xc
add esi, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
cmp ecx, edx
jae 0x1001fcc0
mov eax, ebx
sub eax, esi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x20]
movzx edx, word [eax*2 + 0x100c63f0]
movzx eax, byte [eax + 0x100c6480]
sub edx, eax
mov eax, dword [esp + 0x20]
add edx, ecx
movzx eax, word [eax*2 + 0x100c63f2]
cmp edx, eax
jae 0x10020097
mov ecx, dword [esp + 0x1c]
push 8
pop eax
sub eax, dword [esp + 0x20]
shl eax, 4
sub eax, ebp
push eax
imul eax, edx, 0x18
add eax, 0x10136598
push eax
mov eax, dword [esp + 0x20]
shld eax, ecx, 8
shl ecx, 8
push eax
push ecx
call fcn.100276fa
mov ecx, eax
add esp, 0x10
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ecx
cmp eax, dword [esp + 0x2c]
jae 0x1001ff9b
cmp dword [esp + 0x40], 9
jl 0x100200a8
push esi
push ecx
call fcn.1001fbce
pop ecx
pop ecx
mov ecx, dword [esp + 0x14]
push 9
pop eax
sub dword [esp + 0x40], eax
add esi, eax
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, dword [esp + 0x28]
jb 0x1001fec0
jmp 0x1001fcc0
test eax, eax
je 0x1001fdf6
push eax
call fcn.10026cc8
pop ecx
mov ecx, ebx
mov dword [esp + 0x14], eax
sub ecx, esi
cmp ecx, eax
jl 0x100200a8
push esi
push dword [esp + 0x24]
push eax
call fcn.1001faea
mov al, 1
add esp, 0xc
add esi, dword [esp + 0x14]
mov byte [esp + 0x13], al
jmp 0x1001fdfa
imul eax, eax, 9
mov ecx, edi
push 9
xor edx, edx
sub ecx, eax
pop eax
sub eax, ecx
mov dword [esp + 0x40], ecx
push 5
mov dword [esp + 0x34], eax
pop eax
je 0x10020010
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
xor edx, edx
mov dword [esp + 0x30], 0xa
div dword [esp + 0x30]
sub ebx, 1
jne 0x1001ffbe
mov ebx, dword [esp + 0x44]
push 5
mov dword [esp + 0x28], eax
pop eax
cmp edx, eax
jne 0x10020010
not ebp
sub ebp, edi
test ebp, ebp
jle 0x1002000b
cmp ebp, 0x3c
jge 0x10020006
push ebp
push dword [esp + 0x1c]
push dword [esp + 0x24]
call fcn.100278d5
mov ecx, dword [esp + 0x4c]
add esp, 0xc
test al, al
jne 0x1002000b
xor edi, edi
inc edi
jmp 0x10020016
push 2
pop edi
jmp 0x10020016
cmp eax, edx
sbb edi, edi
neg edi
test ecx, ecx
je 0x10020038
mov eax, ebx
sub eax, esi
cmp eax, ecx
jl 0x100200a8
push esi
push dword [esp + 0x28]
push ecx
call fcn.1001fa78
add esp, 0xc
add esi, dword [esp + 0x40]
test edi, edi
je 0x1001fcc0
mov ebp, dword [esp + 0x34]
mov eax, esi
mov edx, ebx
cmp esi, ebp
je 0x10020067
dec eax
mov cl, byte [eax]
cmp cl, 0x2e
jne 0x10020058
mov edx, eax
jmp 0x10020063
cmp cl, 0x39
jne 0x10020080
xor edi, edi
mov byte [eax], 0x30
inc edi
cmp eax, ebp
jne 0x1002004c
mov byte [eax], 0x31
cmp edx, ebx
je 0x10020073
mov word [edx], 0x2e30
cmp esi, ebx
je 0x100200a8
mov byte [esi], 0x30
inc esi
jmp 0x1001fcc0
cmp edi, 1
je 0x1002008e
test cl, 1
je 0x1001fcc0
inc cl
mov byte [eax], cl
jmp 0x1001fcc0
imul eax, ecx, 9
sub edi, eax
mov eax, ebx
sub eax, esi
cmp eax, edi
jge 0x1001fcaa
mov eax, dword [esp + 0x3c]
mov dword [eax], ebx
mov dword [eax + 4], 0x84
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret