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

Disassembly:
sub esp, 0x9c
xor ecx, ecx
push ebx
mov ebx, dword [esp + 0xa4]
push ebp
cmp ebx, ecx
push esi
je 0x100c608b
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov eax, ebp
or eax, esi
je 0x100c608b
cmp dword [esp + 0xb8], ecx
jne 0x100c53a0
push esi
push ebp
push ebx
call fcn.100c52a0
add esp, 0xc
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
xor edx, edx
mov eax, 0x20
mov dl, byte [ebx + 0x1d]
push edi
sub eax, edx
cmp esi, ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
ja 0x100c53c8
cmp ebp, ecx
jbe 0x100c6075
mov edi, dword [ebx + 0x48]
test edi, edi
jne 0x100c53e5
push ebx
call fcn.100c5240
add esp, 4
test eax, eax
je 0x100c6075
jmp 0x100c6063
mov al, byte [ebx + 0x42]
xor edx, edx
movsx ecx, al
xor esi, esi
mov byte [esp + 0x68], 1
mov si, word [ebx + 0x40]
mov byte [esp + 0x69], 2
mov byte [esp + 0x6a], 3
mov byte [esp + 0x6b], 4
mov byte [esp + 0x6c], 5
mov byte [esp + 0x6d], 6
mov byte [esp + 0x6e], 7
mov byte [esp + 0x6f], 8
mov byte [esp + 0x70], 2
mov byte [esp + 0x71], 2
mov byte [esp + 0x72], 2
mov dl, byte [esp + ecx + 0x68]
mov ecx, edx
mov edx, dword [esp + 0xb8]
sub esi, edi
xor edi, edi
cmp edx, edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], 0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edx
jb 0x100c547c
ja 0x100c546b
mov edi, dword [ebx + 0x48]
cmp dword [esp + 0xb4], edi
jbe 0x100c547c
mov edx, dword [ebx + 0x48]
mov dword [esp + 0x20], edx
xor edx, edx
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x24], edx
cmp ecx, 2
jne 0x100c5f2d
mov edi, dword [ebx + 0x58]
lea ecx, [esi*4]
mov esi, dword [ebx + 0x50]
and eax, 0xff
add esi, ecx
add edi, ecx
sub eax, 8
je 0x100c5d32
dec eax
je 0x100c5b1a
dec eax
mov ecx, 2
je 0x100c56bb
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.100e0d00
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x88], edx
mov al, byte [ebx + 0x4d]
mov ebp, eax
xor eax, eax
mov al, byte [ebx + 0x55]
add ebp, ecx
add eax, ecx
mov dword [esp + 0x14], eax
xor eax, eax
cmp edx, eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
jb 0x100c561b
ja 0x100c550d
mov eax, dword [esp + 0x84]
test eax, eax
jbe 0x100c561b
mov eax, dword [esp + 0x50]
mov ecx, ebp
shl eax, 4
mov edx, dword [eax + esi + 4]
shl edx, cl
mov dword [esp + 0x28], edx
mov edx, dword [eax + esi + 8]
shl edx, cl
mov dword [esp + 0x44], edx
mov edx, dword [eax + esi + 0xc]
shl edx, cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
mov edx, dword [eax + edi]
shl edx, cl
mov dword [esp + 0x2c], edx
mov edx, dword [eax + edi + 4]
shl edx, cl
mov dword [esp + 0x18], edx
mov edx, dword [eax + edi + 8]
shl edx, cl
mov dword [esp + 0x48], edx
mov edx, dword [eax + edi + 0xc]
shl edx, cl
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + esi]
shl ecx, 5
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0xbc]
add edx, ecx
mov ecx, ebp
shl eax, cl
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
fild dword [esp + 0x1c]
add eax, 1
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
fmul dword [0x100fa8b8]
adc eax, 0
cmp eax, ecx
mov dword [esp + 0x54], eax
fstp dword [edx]
fild dword [esp + 0x2c]
fmul dword [0x100fa8b8]
fstp dword [edx + 4]
fild dword [esp + 0x28]
fmul dword [0x100fa8b8]
fstp dword [edx + 8]
fild dword [esp + 0x18]
fmul dword [0x100fa8b8]
fstp dword [edx + 0xc]
fild dword [esp + 0x44]
fmul dword [0x100fa8b8]
fstp dword [edx + 0x10]
fild dword [esp + 0x48]
fmul dword [0x100fa8b8]
fstp dword [edx + 0x14]
fild dword [esp + 0x30]
fmul dword [0x100fa8b8]
fstp dword [edx + 0x18]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [edx + 0x1c]
jb 0x100c550d
ja 0x100c561b
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x50]
cmp eax, ecx
jb 0x100c550d
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ecx, 2
call fcn.100e0d90
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x54], edx
cmp edx, ecx
ja 0x100c5fda
jb 0x100c564f
cmp eax, dword [esp + 0x20]
jae 0x100c5fda
mov edx, dword [esi + eax*4]
mov ecx, ebp
shl edx, cl
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [ecx + eax*8]
mov edx, dword [edi + eax*4]
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, dword [esp + 0xbc]
add eax, 1
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x24]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [ecx + eax*8 - 4]
mov ecx, dword [esp + 0x54]
adc ecx, 0
cmp ecx, edx
mov dword [esp + 0x54], ecx
jb 0x100c564f
ja 0x100c56ae
cmp eax, dword [esp + 0x20]
jb 0x100c564f
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
jmp 0x100c5fe2
mov eax, ebp
call fcn.100e0d00
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], eax
test ecx, ecx
mov dword [esp + 0x78], edx
jbe 0x100c595b
xor ebp, ebp
cmp edx, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
jb 0x100c589d
ja 0x100c56fb
test eax, eax
jbe 0x100c589d
jmp 0x100c56fb
mov ebx, dword [esp + 0xb0]
shl ebp, 4
xor ecx, ecx
mov cl, byte [ebx + 0x55]
mov eax, dword [edi + ebp]
shl eax, cl
mov dword [esp + 0x18], eax
mov eax, dword [edi + ebp + 4]
shl eax, cl
mov edx, dword [esp + 0x18]
and edx, 1
mov dword [esp + 0x28], eax
mov eax, dword [edi + ebp + 8]
shl eax, cl
mov dword [esp + 0x2c], eax
mov eax, dword [edi + ebp + 0xc]
shl eax, cl
xor ecx, ecx
mov cl, byte [ebx + 0x4d]
mov ebx, dword [esp + 0x28]
and ebx, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esi + ebp]
shl eax, cl
shl eax, 1
or eax, edx
mov edx, dword [esi + ebp + 4]
shl edx, cl
shl edx, 1
or edx, ebx
mov ebx, dword [esi + ebp + 8]
shl ebx, cl
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esi + ebp + 0xc]
and ecx, 1
shl ebx, 1
or ebx, ecx
mov ecx, dword [esp + 0x14]
shl ebp, cl
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0xbc]
and ecx, 1
shl ebp, 1
or ebp, ecx
mov ecx, dword [esp + 0x38]
shl ecx, 5
add ecx, ebx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
lea ebx, [ecx + eax]
mov ecx, dword [esp + 0x40]
dec ecx
sub eax, ebp
shl ebx, cl
shl eax, cl
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x30]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
fmul dword [0x100fa8b8]
lea ebp, [eax + edx]
sub edx, eax
shl ebp, cl
shl edx, cl
fstp dword [ebx]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ebp
fmul dword [0x100fa8b8]
fstp dword [ebx + 4]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x2c]
fmul dword [0x100fa8b8]
fstp dword [ebx + 8]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [ebx + 0xc]
mov eax, dword [esp + 0x48]
lea ebp, [edx + eax]
sub eax, edx
shl ebp, cl
mov edx, dword [esp + 0x1c]
shl eax, cl
mov dword [esp + 0x10], ebp
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
fmul dword [0x100fa8b8]
lea ebp, [edx + eax]
sub eax, edx
shl ebp, cl
shl eax, cl
fstp dword [ebx + 0x10]
fild dword [esp + 0x10]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x78]
add ebp, 1
fmul dword [0x100fa8b8]
mov dword [esp + 0x38], ebp
fstp dword [ebx + 0x14]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
adc eax, 0
fmul dword [0x100fa8b8]
cmp eax, edx
mov dword [esp + 0x3c], eax
fstp dword [ebx + 0x18]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [ebx + 0x1c]
jb 0x100c56f4
mov eax, dword [esp + 0x74]
ja 0x100c5896
cmp ebp, eax
jb 0x100c56f4
mov ebx, dword [esp + 0xb0]
mov ecx, 2
call fcn.100e0d90
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
cmp edx, ecx
mov dword [esp + 0x3c], edx
ja 0x100c5fda
jb 0x100c58c7
cmp eax, dword [esp + 0x20]
jae 0x100c5fda
mov edx, dword [edi + eax*4]
mov cl, byte [ebx + 0x55]
mov ebp, dword [esi + eax*4]
shl edx, cl
mov cl, byte [ebx + 0x4d]
shl ebp, cl
mov ecx, dword [esp + 0x40]
mov eax, edx
and eax, 1
shl ebp, 1
or ebp, eax
lea eax, [edx + ebp]
sub ebp, edx
sar eax, 1
shl eax, cl
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xbc]
sar ebp, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [ecx + eax*8]
mov ecx, dword [esp + 0x40]
shl ebp, cl
mov ecx, dword [esp + 0x3c]
add eax, 1
adc ecx, 0
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x10], ebp
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [edx + eax*8 - 4]
cmp ecx, dword [esp + 0x24]
jb 0x100c58c7
ja 0x100c594e
cmp eax, dword [esp + 0x20]
jb 0x100c58c7
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
jmp 0x100c5fe2
xor ebp, ebp
cmp edx, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
jb 0x100c589d
ja 0x100c5980
test eax, eax
jbe 0x100c589d
jmp 0x100c5980
mov ebx, dword [esp + 0xb0]
shl ebp, 4
xor ecx, ecx
mov cl, byte [ebx + 0x55]
mov eax, dword [edi + ebp]
shl eax, cl
mov dword [esp + 0x18], eax
mov eax, dword [edi + ebp + 4]
shl eax, cl
mov edx, dword [esp + 0x18]
and edx, 1
mov dword [esp + 0x1c], eax
mov eax, dword [edi + ebp + 8]
shl eax, cl
mov dword [esp + 0x2c], eax
mov eax, dword [edi + ebp + 0xc]
shl eax, cl
xor ecx, ecx
mov cl, byte [ebx + 0x4d]
mov ebx, dword [esp + 0x1c]
and ebx, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi + ebp]
shl eax, cl
shl eax, 1
or eax, edx
mov edx, dword [esi + ebp + 4]
shl edx, cl
shl edx, 1
or edx, ebx
mov ebx, dword [esi + ebp + 8]
shl ebx, cl
mov ecx, dword [esp + 0x2c]
mov ebp, dword [esi + ebp + 0xc]
and ecx, 1
shl ebx, 1
or ebx, ecx
mov ecx, dword [esp + 0x14]
shl ebp, cl
mov ecx, dword [esp + 0x28]
and ecx, 1
shl ebp, 1
or ebp, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0xbc]
shl ecx, 5
add ecx, ebp
mov ebp, dword [esp + 0x18]
add ebp, eax
sar ebp, 1
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x18]
fild dword [esp + 0x10]
sub eax, ebp
sar eax, 1
fmul dword [0x100fa8b8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
lea ebp, [eax + edx]
sub edx, eax
fstp dword [ecx]
fild dword [esp + 0x10]
sar ebp, 1
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x2c]
fmul dword [0x100fa8b8]
sar edx, 1
fstp dword [ecx + 4]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
lea edx, [eax + ebx]
sar edx, 1
fmul dword [0x100fa8b8]
fstp dword [ecx + 8]
fild dword [esp + 0x10]
mov dword [esp + 0x10], edx
fmul dword [0x100fa8b8]
fstp dword [ecx + 0xc]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [ecx + 0x10]
sub ebx, eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x38]
sar ebx, 1
mov dword [esp + 0x10], ebx
lea ebx, [edx + eax]
fild dword [esp + 0x10]
sar ebx, 1
mov dword [esp + 0x10], ebx
sub eax, edx
fmul dword [0x100fa8b8]
sar eax, 1
mov edx, dword [esp + 0x78]
add ebp, 1
mov dword [esp + 0x38], ebp
fstp dword [ecx + 0x14]
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
adc eax, 0
fmul dword [0x100fa8b8]
cmp eax, edx
mov dword [esp + 0x3c], eax
fstp dword [ecx + 0x18]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [ecx + 0x1c]
jb 0x100c5979
ja 0x100c5b0a
mov eax, dword [esp + 0x74]
cmp ebp, eax
jb 0x100c5979
jmp 0x100c5896
mov ebx, dword [esp + 0xb0]
mov eax, dword [esp + 0x74]
jmp 0x100c589d
mov ecx, 2
mov eax, ebp
call fcn.100e0d00
xor ecx, ecx
mov ebp, edx
mov cl, byte [ebx + 0x4d]
mov edx, dword [esp + 0x40]
add ecx, edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov cl, byte [ebx + 0x55]
mov dword [esp + 0x90], ebp
add ecx, edx
mov dword [esp + 0x18], ecx
xor ecx, ecx
cmp ebp, ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
jb 0x100c5c9f
ja 0x100c5b6c
test eax, eax
jbe 0x100c5c9f
mov ebp, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
shl ebp, 4
mov eax, dword [edi + ebp + 4]
mov edx, dword [edi + ebp]
shl eax, cl
shl edx, cl
mov dword [esp + 0x1c], eax
mov eax, dword [edi + ebp + 8]
shl eax, cl
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
mov eax, dword [edi + ebp + 0xc]
shl eax, cl
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esi + ebp + 4]
shl eax, cl
mov ecx, dword [esp + 0x1c]
add eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [esi + ebp + 8]
shl eax, cl
mov ecx, dword [esp + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [esi + ebp + 0xc]
shl eax, cl
mov ecx, dword [esp + 0x28]
mov ebp, dword [esi + ebp]
add eax, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xbc]
shl ecx, 5
add eax, ecx
mov ecx, dword [esp + 0x14]
shl ebp, cl
mov ecx, dword [esp + 0x90]
add ebp, edx
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x58]
fild dword [esp + 0x10]
add ebp, 1
mov dword [esp + 0x58], ebp
fmul dword [0x100fa8b8]
fstp dword [eax]
fild dword [esp + 0x30]
fmul dword [0x100fa8b8]
fstp dword [eax + 4]
fild dword [esp + 0x48]
fmul dword [0x100fa8b8]
fstp dword [eax + 8]
fild dword [esp + 0x1c]
fmul dword [0x100fa8b8]
fstp dword [eax + 0xc]
fild dword [esp + 0x44]
fmul dword [0x100fa8b8]
fstp dword [eax + 0x10]
fild dword [esp + 0x2c]
fmul dword [0x100fa8b8]
fstp dword [eax + 0x14]
fild dword [esp + 0x34]
fmul dword [0x100fa8b8]
fstp dword [eax + 0x18]
fild dword [esp + 0x28]
fmul dword [0x100fa8b8]
fstp dword [eax + 0x1c]
mov eax, dword [esp + 0x5c]
adc eax, 0
cmp eax, ecx
mov dword [esp + 0x5c], eax
jb 0x100c5b6c
ja 0x100c5c98
mov eax, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, eax
jb 0x100c5b6c
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ecx, 2
call fcn.100e0d90
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x5c], edx
cmp edx, ecx
ja 0x100c5fda
jb 0x100c5ccc
cmp eax, dword [esp + 0x20]
jae 0x100c5fda
mov ebp, dword [edi + eax*4]
mov ecx, dword [esp + 0x18]
mov edx, dword [esi + eax*4]
shl ebp, cl
mov ecx, dword [esp + 0x14]
shl edx, cl
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x10], ebp
add edx, ebp
add eax, 1
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x24]
fild dword [esp + 0x34]
fmul dword [0x100fa8b8]
fstp dword [ecx + eax*8 - 8]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [ecx + eax*8 - 4]
mov ecx, dword [esp + 0x5c]
adc ecx, 0
cmp ecx, edx
mov dword [esp + 0x5c], ecx
jb 0x100c5ccc
ja 0x100c5d29
cmp eax, dword [esp + 0x20]
jb 0x100c5ccc
mov ecx, dword [esp + 0x4c]
jmp 0x100c5fe2
mov ecx, 2
mov eax, ebp
call fcn.100e0d00
mov ebp, dword [esp + 0x40]
xor ecx, ecx
mov cl, byte [ebx + 0x4d]
mov dword [esp + 0x9c], eax
add ecx, ebp
mov dword [esp + 0xa0], edx
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov cl, byte [ebx + 0x55]
add ecx, ebp
xor ebp, ebp
test edx, edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], ebp
jb 0x100c5e9f
ja 0x100c5d82
test eax, eax
jbe 0x100c5e9f
mov ecx, dword [esp + 0x18]
shl ebp, 4
mov edx, dword [esi + ebp + 4]
mov eax, dword [esi + ebp]
shl edx, cl
shl eax, cl
mov dword [esp + 0x1c], edx
mov edx, dword [esi + ebp + 8]
shl edx, cl
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
mov dword [esp + 0x2c], edx
mov edx, dword [esi + ebp + 0xc]
shl edx, cl
mov ecx, dword [esp + 0x14]
fmul dword [0x100fa8b8]
mov dword [esp + 0x28], edx
mov edx, dword [edi + ebp]
shl edx, cl
sub eax, edx
mov edx, dword [edi + ebp + 4]
shl edx, cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
sub eax, edx
mov edx, dword [edi + ebp + 8]
shl edx, cl
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
sub eax, edx
mov edx, dword [edi + ebp + 0xc]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x28]
shl edx, cl
mov ecx, dword [esp + 0xbc]
sub eax, edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x44], eax
mov eax, ebp
shl eax, 5
add ecx, eax
mov eax, dword [esp + 0x64]
add ebp, 1
fstp dword [ecx]
fild dword [esp + 0x10]
adc eax, 0
mov dword [esp + 0x60], ebp
cmp eax, edx
mov dword [esp + 0x64], eax
fmul dword [0x100fa8b8]
fstp dword [ecx + 4]
fild dword [esp + 0x1c]
fmul dword [0x100fa8b8]
fstp dword [ecx + 8]
fild dword [esp + 0x30]
fmul dword [0x100fa8b8]
fstp dword [ecx + 0xc]
fild dword [esp + 0x2c]
fmul dword [0x100fa8b8]
fstp dword [ecx + 0x10]
fild dword [esp + 0x48]
fmul dword [0x100fa8b8]
fstp dword [ecx + 0x14]
fild dword [esp + 0x28]
fmul dword [0x100fa8b8]
fstp dword [ecx + 0x18]
fild dword [esp + 0x44]
fmul dword [0x100fa8b8]
fstp dword [ecx + 0x1c]
jb 0x100c5d82
ja 0x100c5e98
cmp ebp, dword [esp + 0x9c]
jb 0x100c5d82
mov eax, dword [esp + 0x9c]
mov ecx, 2
call fcn.100e0d90
mov ebp, eax
mov eax, dword [esp + 0x24]
cmp edx, eax
mov dword [esp + 0x64], edx
ja 0x100c5fda
jb 0x100c5ec7
cmp ebp, dword [esp + 0x20]
jae 0x100c5fda
mov eax, dword [esi + ebp*4]
mov ecx, dword [esp + 0x18]
mov edx, dword [edi + ebp*4]
shl eax, cl
mov ecx, dword [esp + 0x14]
shl edx, cl
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
sub eax, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xbc]
fmul dword [0x100fa8b8]
add ebp, 1
fstp dword [eax + ebp*8 - 8]
fild dword [esp + 0x10]
fmul dword [0x100fa8b8]
fstp dword [eax + ebp*8 - 4]
mov eax, dword [esp + 0x64]
adc eax, 0
cmp eax, edx
mov dword [esp + 0x64], eax
jb 0x100c5ec7
ja 0x100c5f24
cmp ebp, dword [esp + 0x20]
jb 0x100c5ec7
mov ecx, dword [esp + 0x4c]
jmp 0x100c5fe2
xor eax, eax
test edx, edx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
jb 0x100c5fe6
ja 0x100c5f4f
test ebp, ebp
jbe 0x100c5fe6
test ecx, ecx
jbe 0x100c5faf
add esi, eax
mov edi, dword [esp + 0xbc]
shl esi, 2
imul eax, ecx
lea edi, [edi + eax*4]
lea eax, [ebx + 0x4d]
mov dword [esp + 0x1c], ecx
mov cl, byte [eax]
mov ebp, dword [esp + 0x40]
add ecx, ebp
mov ebp, dword [eax + 3]
add edi, 4
add eax, 8
mov ebp, dword [esi + ebp]
shl ebp, cl
dec dword [esp + 0x1c]
mov dword [esp + 0x34], ebp
fild dword [esp + 0x34]
fmul qword [0x100fa8b0]
fstp dword [edi - 4]
jne 0x100c5f6c
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x94]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x98]
add eax, 1
adc edi, 0
mov dword [esp + 0x94], eax
cmp edi, edx
mov dword [esp + 0x98], edi
jb 0x100c5f4f
ja 0x100c5fe6
cmp eax, ebp
jb 0x100c5f4f
jmp 0x100c5fe6
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
add edi, ebp
mov eax, ebp
adc esi, edx
imul eax, ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x80], esi
mov esi, dword [ebx + 0x90]
lea eax, [ecx + eax*4]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xb4]
sub eax, ebp
sbb edi, edx
add esi, ebp
mov dword [ebx + 0x90], esi
mov ecx, dword [ebx + 0x94]
mov dword [esp + 0xb4], eax
mov eax, dword [ebx + 0x48]
adc ecx, edx
sub eax, ebp
mov ebp, dword [esp + 0xb4]
mov dword [esp + 0xb8], edi
mov dword [ebx + 0x94], ecx
mov dword [ebx + 0x48], eax
mov esi, edi
test esi, esi
ja 0x100c53c8
jb 0x100c6075
test ebp, ebp
ja 0x100c53c8
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x9c
ret
pop esi
xor eax, eax
pop ebp
xor edx, edx
pop ebx
add esp, 0x9c
ret