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

Disassembly:
sub esp, 0x84
mov ecx, dword [eax + 8]
mov eax, dword [edx + 8]
mov edx, dword [esp + 0x8c]
push ebx
push ebp
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x90]
mov ebp, dword [ecx + 8]
mov dword [esp + 0x84], eax
mov eax, dword [edx + 8]
push esi
mov esi, dword [esp + 0xb4]
mov edx, dword [esi + 8]
mov ebx, dword [esi + 4]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 4]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x10], edx
mov edx, dword [esi + 0x18]
add ecx, 3
push edi
mov edi, dword [eax]
mov al, byte [esi + 0xc]
mov dword [esp + 0x68], edx
xor edx, edx
sar ecx, 2
cmp ecx, edx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x20], edi
mov dword [esp + 0x90], edi
mov byte [esp + 0x13], al
mov dword [esp + 0x88], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x58], edx
jle 0x1000c817
mov eax, dword [esp + 0xb4]
fld dword [esp + 0xa0]
fldz
add eax, eax
add eax, eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x60], eax
lea eax, [ecx - 1]
cmp edx, eax
jge 0x1000c4a7
mov dword [esp + 0x28], 4
jmp 0x1000c4c0
lea eax, [ecx*4]
mov edi, eax
mov eax, dword [esp + 0xa8]
sub eax, edi
add eax, 4
mov dword [esp + 0x28], eax
cmp dword [esp + 0xa4], 0
mov edi, dword [esp + 0x5c]
mov eax, dword [edi]
mov edi, dword [edi + 4]
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], 0
jle 0x1000c7f3
mov edx, dword [esp + 0x5c]
add edx, 8
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x8c]
lea edi, [ebp + 4]
sub edx, ebp
mov ecx, 0x1c
sub ecx, dword [esp + 0x1c]
mov ebp, 0xfffffffc
sub ebp, dword [esp + 0x50]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x78], ebp
jmp 0x1000c525
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], eax
mov eax, dword [edx]
mov edx, dword [esp + 0x6c]
mov edx, dword [edx + edi]
shr edx, cl
mov dword [esp + 0x38], eax
and edx, 0xf
mov dword [esp + 0x4c], edx
je 0x1000c7c0
mov eax, dword [edi]
shr eax, cl
and eax, 0xf
mov dword [esp + 0x64], eax
xor eax, eax
cmp dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
jle 0x1000c7c0
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x1c]
add ebp, edi
mov dword [esp + 0x84], ebp
mov ebp, dword [esp + 0x2c]
add ecx, ebp
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x40], ecx
cmp byte [eax + edx*4 + 0x1009b618], 0
je 0x1000c78e
mov edx, dword [esp + 0x64]
cmp byte [eax + edx*4 + 0x1009b618], 0
je 0x1000c5b2
mov eax, 0x10
jmp 0x1000c60c
mov edx, dword [esi*4 + 0x1009b500]
mov ecx, dword [esi*4 + 0x1009b580]
mov eax, edx
and eax, dword [esp + 0x74]
mov ebp, edx
and ebp, dword [esp + 0x48]
and edx, dword [esp + 0x38]
shr eax, cl
shr ebp, cl
shr edx, cl
add eax, eax
add eax, eax
add eax, eax
or eax, ebp
add eax, eax
add eax, eax
add eax, eax
or eax, edx
cmp esi, 0x1f
jne 0x1000c5ed
add eax, eax
mov edx, dword [esp + 0xac]
xor ecx, ecx
cmp dword [edx + eax*4], ecx
mov edx, 0x80000000
setne cl
add ecx, 0xe
mov eax, ecx
mov ecx, esi
shr edx, cl
or dword [edi], edx
mov edx, dword [esp + 0x7c]
mov ecx, esi
mov edi, 0x80000000
shr edi, cl
mov ecx, dword [esp + 0x84]
or dword [ecx + edx + 4], edi
mov ecx, dword [esp + 0x68]
mov edi, dword [ecx]
mov esi, dword [ecx + 4]
add edi, eax
add esi, eax
movzx eax, byte [edi]
mov eax, dword [eax*4 + 0x10089b00]
mov ebp, eax
mov ecx, ebx
shr ebp, 0x10
shr ecx, 0x10
cmp ecx, ebp
jb 0x1000c69c
mov edx, dword [esp + 0x14]
mov ecx, eax
and ecx, 0xffff0000
sub edx, ebp
sub ebx, ecx
test edx, 0x8000
mov dword [esp + 0x14], edx
je 0x1000c670
cmp byte [esi], 0
setne al
jmp 0x1000c743
cmp edx, ebp
jb 0x1000c681
cmp byte [esi], 0
setne byte [esp + 0x12]
shr eax, 8
jmp 0x1000c6d4
mov cl, byte [esi]
mov dl, cl
xor dl, 1
setne byte [esp + 0x12]
mov dl, al
and dl, 1
xor dl, cl
shr eax, 1
mov byte [esi], dl
and al, 0x7f
jmp 0x1000c6d0
lea ecx, [ebp + ebp]
cmp dword [esp + 0x14], ecx
jae 0x1000c6b3
cmp byte [esi], 0
setne byte [esp + 0x12]
shr eax, 8
jmp 0x1000c6cc
mov cl, byte [esi]
mov dl, cl
xor dl, 1
setne byte [esp + 0x12]
mov dl, al
and dl, 1
xor dl, cl
shr eax, 1
mov byte [esi], dl
and al, 0x7f
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x14]
mov byte [edi], al
cmp dword [esp + 0x18], 0
jne 0x1000c72a
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x70]
je 0x1000c71c
mov cl, byte [eax]
add eax, 1
cmp byte [esp + 0x13], 0xff
mov dword [esp + 0x20], eax
mov byte [esp + 0x13], cl
je 0x1000c705
movzx eax, cl
shl eax, 8
add ebx, eax
jmp 0x1000c722
cmp cl, 0x8f
ja 0x1000c71c
movzx ecx, cl
shl ecx, 9
add ebx, ecx
mov dword [esp + 0x18], 7
jmp 0x1000c72a
add ebx, 0xff00
mov dword [esp + 0x18], 8
sub dword [esp + 0x18], 1
add edx, edx
add ebx, ebx
test edx, 0x8000
je 0x1000c6d6
mov al, byte [esp + 0x12]
mov dword [esp + 0x14], edx
test al, al
je 0x1000c84e
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xb0]
fcom dword [ecx + edx]
fnstsw ax
test ah, 0x41
jp 0x1000c768
fxch st(1)
fst dword [esp + 0x54]
jmp 0x1000c772
fld st(1)
fchs
fstp dword [esp + 0x54]
fxch st(1)
fld dword [ecx + edx]
mov eax, dword [esp + 0x24]
fadd dword [esp + 0x54]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x3c]
fstp dword [ecx + edx]
mov edx, dword [esp + 0x4c]
fxch st(1)
mov ecx, dword [esp + 0x60]
add dword [esp + 0x40], ecx
add eax, 1
add esi, 1
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], esi
jl 0x1000c58f
mov ebp, dword [esp + 0x78]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0xb8]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x34], 4
add eax, 1
add edi, 4
cmp eax, dword [esp + 0xa4]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], edi
jl 0x1000c521
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x60]
add dword [esp + 0x1c], 4
add dword [esp + 0x44], eax
add edx, 1
cmp edx, ecx
mov dword [esp + 0x58], edx
jl 0x1000c496
mov edi, dword [esp + 0x20]
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x14]
mov dl, byte [esp + 0x13]
mov eax, dword [esp + 0x18]
mov dword [esi + 8], ecx
mov byte [esi + 0xc], dl
mov edx, dword [esi + 0x14]
mov ecx, edi
sub ecx, dword [esp + 0x90]
mov dword [esi + 4], ebx
mov dword [esi + 0x10], eax
mov dword [edx + 8], ecx
mov eax, dword [esi + 0x14]
mov dword [eax], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x3c]
jmp 0x1000c78e