Function at 0x100c52f0
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 0x100c602b
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xb4]
mov eax, ebp
or eax, esi
je 0x100c602b
cmp dword [esp + 0xb8], ecx
jne 0x100c5340
push esi
push ebp
push ebx
call fcn.100c5240
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 0x100c5368
cmp ebp, ecx
jbe 0x100c6015
mov edi, dword [ebx + 0x48]
test edi, edi
jne 0x100c5385
push ebx
call fcn.100c51e0
add esp, 4
test eax, eax
je 0x100c6015
jmp 0x100c6003
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 0x100c541c
ja 0x100c540b
mov edi, dword [ebx + 0x48]
cmp dword [esp + 0xb4], edi
jbe 0x100c541c
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 0x100c5ecd
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 0x100c5cd2
dec eax
je 0x100c5aba
dec eax
mov ecx, 2
je 0x100c565b
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
call fcn.100e0ca0
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 0x100c55bb
ja 0x100c54ad
mov eax, dword [esp + 0x84]
test eax, eax
jbe 0x100c55bb
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 0x100c54ad
ja 0x100c55bb
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x50]
cmp eax, ecx
jb 0x100c54ad
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ecx, 2
call fcn.100e0d30
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x54], edx
cmp edx, ecx
ja 0x100c5f7a
jb 0x100c55ef
cmp eax, dword [esp + 0x20]
jae 0x100c5f7a
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 0x100c55ef
ja 0x100c564e
cmp eax, dword [esp + 0x20]
jb 0x100c55ef
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
jmp 0x100c5f82
mov eax, ebp
call fcn.100e0ca0
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x74], eax
test ecx, ecx
mov dword [esp + 0x78], edx
jbe 0x100c58fb
xor ebp, ebp
cmp edx, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
jb 0x100c583d
ja 0x100c569b
test eax, eax
jbe 0x100c583d
jmp 0x100c569b
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 0x100c5694
mov eax, dword [esp + 0x74]
ja 0x100c5836
cmp ebp, eax
jb 0x100c5694
mov ebx, dword [esp + 0xb0]
mov ecx, 2
call fcn.100e0d30
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
cmp edx, ecx
mov dword [esp + 0x3c], edx
ja 0x100c5f7a
jb 0x100c5867
cmp eax, dword [esp + 0x20]
jae 0x100c5f7a
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 0x100c5867
ja 0x100c58ee
cmp eax, dword [esp + 0x20]
jb 0x100c5867
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
jmp 0x100c5f82
xor ebp, ebp
cmp edx, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
jb 0x100c583d
ja 0x100c5920
test eax, eax
jbe 0x100c583d
jmp 0x100c5920
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 0x100c5919
ja 0x100c5aaa
mov eax, dword [esp + 0x74]
cmp ebp, eax
jb 0x100c5919
jmp 0x100c5836
mov ebx, dword [esp + 0xb0]
mov eax, dword [esp + 0x74]
jmp 0x100c583d
mov ecx, 2
mov eax, ebp
call fcn.100e0ca0
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 0x100c5c3f
ja 0x100c5b0c
test eax, eax
jbe 0x100c5c3f
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 0x100c5b0c
ja 0x100c5c38
mov eax, dword [esp + 0x8c]
mov ecx, ebp
cmp ecx, eax
jb 0x100c5b0c
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ecx, 2
call fcn.100e0d30
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x5c], edx
cmp edx, ecx
ja 0x100c5f7a
jb 0x100c5c6c
cmp eax, dword [esp + 0x20]
jae 0x100c5f7a
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 0x100c5c6c
ja 0x100c5cc9
cmp eax, dword [esp + 0x20]
jb 0x100c5c6c
mov ecx, dword [esp + 0x4c]
jmp 0x100c5f82
mov ecx, 2
mov eax, ebp
call fcn.100e0ca0
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 0x100c5e3f
ja 0x100c5d22
test eax, eax
jbe 0x100c5e3f
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 0x100c5d22
ja 0x100c5e38
cmp ebp, dword [esp + 0x9c]
jb 0x100c5d22
mov eax, dword [esp + 0x9c]
mov ecx, 2
call fcn.100e0d30
mov ebp, eax
mov eax, dword [esp + 0x24]
cmp edx, eax
mov dword [esp + 0x64], edx
ja 0x100c5f7a
jb 0x100c5e67
cmp ebp, dword [esp + 0x20]
jae 0x100c5f7a
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 0x100c5e67
ja 0x100c5ec4
cmp ebp, dword [esp + 0x20]
jb 0x100c5e67
mov ecx, dword [esp + 0x4c]
jmp 0x100c5f82
xor eax, eax
test edx, edx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
jb 0x100c5f86
ja 0x100c5eef
test ebp, ebp
jbe 0x100c5f86
test ecx, ecx
jbe 0x100c5f4f
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 0x100c5f0c
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 0x100c5eef
ja 0x100c5f86
cmp eax, ebp
jb 0x100c5eef
jmp 0x100c5f86
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 0x100c5368
jb 0x100c6015
test ebp, ebp
ja 0x100c5368
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