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

Disassembly:
sub esp, 0x74
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x88]
push ebx
mov dword [esp + 0x24], edx
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 8]
push ebp
mov ebp, dword [esp + 0xa4]
mov ebx, dword [ebp + 4]
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
mov al, byte [ebp + 0xc]
add ecx, 3
push edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x80], esi
mov esi, dword [ebp + 0x10]
mov byte [esp + 0x11], al
mov eax, dword [ebp + 0x18]
sar ecx, 2
mov edi, 0
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], esi
mov dword [esp + 0x58], eax
mov dword [esp + 0x34], edi
je 0x1001484b
fld dword [esp + 0x90]
jmp 0x10014345
mov ecx, dword [esp + 0x5c]
lea eax, [ecx - 1]
cmp edi, eax
jae 0x10014356
mov dword [esp + 0x2c], 4
jmp 0x1001436a
lea ecx, [eax*4]
mov eax, dword [esp + 0x98]
sub eax, ecx
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x94], 0
mov eax, dword [esp + 0x30]
mov cl, byte [eax]
mov al, byte [eax + 1]
mov byte [esp + 0x13], al
jbe 0x10014838
lea ebp, [edi*4]
mov eax, 4
sub eax, ebp
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
add eax, 2
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x60]
sub eax, edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x30]
sub eax, edx
mov dword [esp + 0x70], eax
or eax, 0xffffffff
lea ebp, [edx + 1]
sub eax, edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], eax
jmp 0x100143cc
mov cl, byte [esp + 0x12]
mov al, byte [esp + 0x13]
mov dl, cl
mov ecx, dword [esp + 0x40]
movzx ecx, byte [ecx]
mov byte [esp + 0x12], al
mov byte [esp + 0x13], cl
movzx ecx, byte [esp + 0x74]
movzx eax, al
shr eax, cl
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x27], dl
and eax, 0xf
cmp eax, dword [ecx*4 + 0x1009b9d8]
mov dword [esp + 0x6c], eax
je 0x1001480e
mov edi, dword [esp + 0x34]
mov cl, dl
or cl, byte [esp + 0x13]
or cl, byte [esp + 0x12]
cmp edi, 1
mov byte [esp + 0x1b], cl
je 0x10014423
test cl, 0xf8
jmp 0x10014426
test cl, 0x1f
je 0x1001480e
add edi, edi
add edi, edi
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x38], edi
mov dword [esp + 0x4c], 0
jbe 0x100147ff
jmp 0x1001444d
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x4c]
cmp byte [edx + eax*4 + 0x1009b9f0], 0
jne 0x100147e3
mov al, byte [edi + 0x1009b9b0]
test cl, al
mov byte [esp + 0x26], al
je 0x100147e3
mov ecx, dword [edi*4 + 0x1009b9b8]
movzx edx, byte [esp + 0x27]
movzx ebx, byte [esp + 0x12]
movzx eax, al
and edx, eax
movzx esi, cl
mov ecx, esi
shr edx, cl
and ebx, eax
shr ebx, cl
add edx, edx
add edx, edx
add edx, edx
or edx, ebx
movzx ebx, byte [esp + 0x13]
add edx, edx
and ebx, eax
add edx, edx
shr ebx, cl
add edx, edx
or edx, ebx
cmp edi, 7
jne 0x100144b2
add edx, edx
mov ecx, dword [esp + 0x58]
mov edi, dword [ecx]
mov eax, dword [esp + 0x9c]
mov eax, dword [eax + edx*4]
mov esi, dword [ecx + 4]
movzx ecx, byte [edi + eax]
mov ebx, dword [esp + 0x1c]
add edi, eax
add esi, eax
mov eax, dword [ecx*4 + 0x10089f80]
mov ecx, eax
shr ecx, 0x10
shr ebx, 0x10
cmp ebx, ecx
mov dword [esp + 0x3c], ecx
jb 0x1001454d
sub dword [esp + 0x14], ecx
mov ebx, dword [esp + 0x1c]
mov ecx, eax
and ecx, 0xffff0000
sub ebx, ecx
mov ecx, dword [esp + 0x14]
test ecx, 0x8000
mov dword [esp + 0x1c], ebx
je 0x1001451b
cmp byte [esi], 0
mov esi, dword [esp + 0x28]
setne byte [esp + 0x10]
jmp 0x100145f8
cmp ecx, dword [esp + 0x3c]
jb 0x10014530
cmp byte [esi], 0
setne byte [esp + 0x10]
shr eax, 8
mov byte [edi], al
jmp 0x10014589
mov cl, byte [esi]
mov bl, cl
xor bl, 1
setne byte [esp + 0x10]
mov bl, al
and bl, 1
xor bl, cl
shr eax, 1
and al, 0x7f
mov byte [esi], bl
mov byte [edi], al
jmp 0x10014585
add ecx, ecx
cmp dword [esp + 0x14], ecx
jae 0x10014562
cmp byte [esi], 0
setne byte [esp + 0x10]
shr eax, 8
jmp 0x1001457b
mov cl, byte [esi]
mov bl, cl
xor bl, 1
setne byte [esp + 0x10]
mov bl, al
and bl, 1
xor bl, cl
shr eax, 1
mov byte [esi], bl
and al, 0x7f
mov byte [edi], al
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x54]
test esi, esi
jne 0x100145dd
mov esi, dword [esp + 0x20]
cmp esi, edi
je 0x100145d2
mov al, byte [esi]
add esi, 1
cmp byte [esp + 0x11], 0xff
mov dword [esp + 0x20], esi
mov byte [esp + 0x11], al
je 0x100145bf
movzx eax, al
shl eax, 8
add ebx, eax
jmp 0x100145d8
cmp al, 0x8f
ja 0x100145d2
movzx eax, al
shl eax, 9
add ebx, eax
mov esi, 7
jmp 0x100145dd
add ebx, 0xff00
mov esi, 8
add ecx, ecx
add ebx, ebx
sub esi, 1
test ecx, 0x8000
je 0x10014595
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ecx
mov edi, dword [esp + 0x38]
mov ecx, edi
mov eax, 0x80
sar eax, cl
mov ecx, dword [esp + 0x7c]
or byte [ecx + ebp], al
cmp byte [esp + 0x10], 0
mov dword [esp + 0x3c], eax
je 0x100147df
movzx ecx, byte [ebp - 1]
mov al, byte [ebp]
mov byte [esp + 0x10], cl
mov cl, byte [ebp + 1]
mov byte [esp + 0x64], cl
or cl, al
or cl, byte [esp + 0x10]
mov byte [esp + 0x68], al
movzx eax, byte [esp + 0x26]
test al, cl
je 0x1001465e
mov ecx, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
push ecx
push eax
mov al, byte [esp + 0x18]
lea esi, [esp + 0x58]
mov ecx, edi
call fcn.10014230
add esp, 8
jmp 0x10014668
and edx, 0xaa
mov dword [esp + 0x50], edx
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x50]
mov eax, dword [ecx + edx*4]
mov edx, dword [esp + 0x58]
mov edi, dword [edx]
mov esi, dword [edx + 4]
mov cl, al
shr eax, 1
add edi, eax
add esi, eax
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x10089f80]
mov ebp, eax
mov edx, ebx
shr ebp, 0x10
shr edx, 0x10
and cl, 1
cmp edx, ebp
jb 0x100146e8
sub dword [esp + 0x14], ebp
mov edx, eax
and edx, 0xffff0000
sub ebx, edx
mov edx, dword [esp + 0x14]
test edx, 0x8000
mov dword [esp + 0x1c], ebx
je 0x100146d2
mov al, byte [esi]
mov esi, dword [esp + 0x28]
xor al, cl
setne byte [esp + 0x10]
jmp 0x1001478b
cmp edx, ebp
mov dl, byte [esi]
mov ebp, dword [esp + 0x14]
jb 0x10014700
xor dl, cl
setne byte [esp + 0x10]
shr eax, 8
jmp 0x1001471d
lea edx, [ebp + ebp]
cmp dword [esp + 0x14], edx
mov dl, byte [esi]
jae 0x10014700
xor dl, cl
setne byte [esp + 0x10]
shr eax, 8
jmp 0x10014719
mov bl, dl
xor bl, cl
xor bl, 1
setne byte [esp + 0x10]
mov cl, al
and cl, 1
xor cl, dl
shr eax, 1
mov byte [esi], cl
and al, 0x7f
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x54]
mov esi, dword [esp + 0x28]
mov byte [edi], al
test esi, esi
jne 0x10014770
mov eax, dword [esp + 0x20]
cmp eax, edx
je 0x10014765
mov cl, byte [eax]
add eax, 1
cmp byte [esp + 0x11], 0xff
mov dword [esp + 0x20], eax
mov byte [esp + 0x11], cl
je 0x10014751
movzx eax, cl
shl eax, 8
add ebx, eax
jmp 0x1001476b
cmp cl, 0x8f
ja 0x10014765
movzx ecx, cl
shl ecx, 9
add ebx, ecx
mov esi, 7
jmp 0x10014770
add ebx, 0xff00
mov esi, 8
add ebp, ebp
add ebx, ebx
sub esi, 1
test ebp, 0x8000
je 0x10014727
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebp
mov edi, dword [esp + 0x38]
mov al, byte [esp + 0x3c]
or byte [esp + 0x12], al
mov cl, byte [esp + 0x1b]
or cl, byte [esp + 0x12]
mov ebp, dword [esp + 0x48]
mov edx, edi
imul edx, dword [esp + 0xa8]
add edx, dword [esp + 0x44]
cmp byte [esp + 0x10], 0
mov byte [esp + 0x1b], cl
je 0x100147d1
or byte [ebp], al
fld st(0)
mov eax, dword [esp + 0xa4]
fchs
add edx, ebp
fstp dword [eax + edx*4]
jmp 0x100147e3
mov eax, dword [esp + 0xa4]
add edx, ebp
fst dword [eax + edx*4]
jmp 0x100147e3
mov cl, byte [esp + 0x1b]
mov eax, dword [esp + 0x4c]
add eax, 1
add edi, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], edi
jb 0x10014449
mov cl, byte [esp + 0x12]
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x34]
mov byte [edx + ebp], cl
mov eax, dword [esp + 0x44]
add dword [esp + 0x40], 1
add ebp, 1
add eax, ebp
cmp eax, dword [esp + 0x94]
mov dword [esp + 0x48], ebp
jb 0x100143c8
mov ebp, dword [esp + 0xac]
mov edx, dword [esp + 0x78]
add edi, 1
cmp edi, dword [esp + 0x5c]
mov dword [esp + 0x34], edi
jb 0x10014341
fstp st(0)
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
mov dl, byte [esp + 0x11]
mov dword [ebp + 8], ecx
mov byte [ebp + 0xc], dl
mov edx, dword [ebp + 0x14]
mov ecx, eax
sub ecx, dword [esp + 0x80]
mov dword [ebp + 4], ebx
mov dword [ebp + 0x10], esi
pop edi
mov dword [edx + 8], ecx
mov ecx, dword [ebp + 0x14]
pop esi
pop ebp
mov dword [ecx], eax
pop ebx
add esp, 0x74
ret