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

Disassembly:
sub esp, 0x30c
push ebx
mov ebx, dword [esp + 0x314]
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x10], edi
cmp dword [edi + 0xc0], 0
je 0x100c7a26
mov eax, dword [ebx + 8]
lea ebp, [edi + 0x90]
mov esi, dword [ebx]
lea edx, [edi + 0x80]
sub esi, dword [ebx + 0x20]
add eax, 7
shr eax, 3
xor ecx, ecx
add esi, eax
adc ecx, ecx
add esi, dword [ebx + 0x28]
mov eax, esi
adc ecx, dword [ebx + 0x2c]
sub eax, dword [ebp]
mov dword [esp + 0x18], eax
mov eax, ecx
sbb eax, dword [ebp + 4]
jne 0x100c79f7
jb 0x100c79d6
cmp dword [esp + 0x18], 0x1000000
jae 0x100c79f7
mov eax, dword [edx]
sub eax, dword [edi + 0x98]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 4]
sbb eax, dword [edi + 0x9c]
jne 0x100c79f7
cmp dword [esp + 0x18], 0x4000000
jb 0x100c7a26
mov eax, dword [edx]
mov dword [ebp], esi
mov esi, edi
mov dword [ebp + 4], ecx
mov ecx, dword [edx + 4]
mov dword [edi + 0x9c], ecx
mov ecx, dword [esi + 0xc0]
push edx
mov dword [edi + 0x98], eax
push ebp
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
test eax, eax
jne 0x100c8b7e
mov eax, dword [ebx]
cmp eax, dword [ebx + 0x18]
jb 0x100c7a34
mov ecx, ebx
call fcn.100c7850
mov eax, dword [ebx]
lea edx, [eax + 1]
mov ch, byte [eax]
movzx eax, ch
mov dword [ebx], edx
mov ebp, eax
mov cl, byte [edx]
and ebp, 0x18
inc edx
mov dword [esp + 0x18], eax
mov byte [esp + 0x5f], cl
mov dword [ebx], edx
cmp ebp, 0x18
jae 0x100c8b79
mov cl, byte [edx]
inc edx
movzx esi, cl
xor cl, byte [esp + 0x5f]
xor cl, ch
mov dword [ebx], edx
movzx edi, cl
mov dword [esp + 0x14], edi
mov edi, edx
test ebp, ebp
je 0x100c7aae
mov al, byte [edx]
inc edx
mov ch, al
mov dword [ebx], edx
xor ch, cl
movzx eax, al
shl eax, 8
movzx edi, ch
add esi, eax
mov dword [esp + 0x14], edi
mov edi, edx
cmp ebp, 8
jbe 0x100c7ab4
mov cl, byte [edx]
lea edi, [edx + 1]
movzx eax, ch
movzx edx, cl
xor edx, eax
mov dword [ebx], edi
movzx eax, cl
shl eax, 0x10
add esi, eax
jmp 0x100c7ab8
mov edx, dword [esp + 0x14]
jmp 0x100c7abc
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cmp edx, 0x5a
jne 0x100c8b79
mov ecx, eax
and ecx, 7
inc ecx
mov eax, ecx
shr eax, 3
add esi, eax
jne 0x100c7adf
mov byte [ebx + 0xd], 1
xor ecx, ecx
mov esi, 1
dec esi
and ecx, 7
mov edx, edi
mov dword [ebx + 0x10], ecx
sub edx, dword [ebx + 0x20]
mov eax, 0
add edx, dword [ebx + 0x28]
mov ebp, esi
adc eax, dword [ebx + 0x2c]
add ebp, edx
mov ebx, 0
mov dword [esp + 0x60], eax
adc ebx, eax
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x320]
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x18]
mov dword [ebx + 0x30], ebp
mov dword [ebx + 4], eax
cmp eax, edi
jbe 0x100c7b4c
mov ebx, dword [esp + 0x14]
cmp ebx, dword [esp + 0x60]
mov ebx, dword [esp + 0x320]
ja 0x100c7b40
jb 0x100c7b3b
cmp ebp, edx
jae 0x100c7b40
mov dword [ebx + 4], edi
jmp 0x100c7b4c
sub eax, edi
cmp eax, esi
jbe 0x100c7b4c
lea eax, [esi + edi]
mov dword [ebx + 4], eax
mov edx, dword [esp + 0x18]
mov eax, edx
mov ebp, dword [esp + 0x10]
shr eax, 6
and al, 1
mov byte [ebp + 0xd], al
test dl, dl
js 0x100c7b82
cmp byte [ebp + 0x14], 0
jne 0x100c7b73
lea eax, [ecx + esi]
test eax, eax
jne 0x100c8b79
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30c
ret 4
mov byte [ebp + 0x14], 0
xor esi, esi
mov edi, dword [ebx]
cmp edi, dword [ebx + 4]
jb 0x100c7bdc
cmp edi, dword [ebx + 0x18]
jb 0x100c7b9b
mov ecx, ebx
call fcn.100c7850
mov edi, dword [ebx]
xor ecx, ecx
mov ebp, dword [ebx + 0x34]
mov eax, edi
sub eax, dword [ebx + 0x20]
add eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x30]
adc ecx, dword [ebx + 0x2c]
cmp ecx, ebp
jb 0x100c7bdc
ja 0x100c8b79
cmp eax, edx
jb 0x100c7bdc
cmp ecx, ebp
ja 0x100c8b79
jb 0x100c7bd0
cmp eax, edx
ja 0x100c8b79
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0x10]
ja 0x100c8b79
movzx edx, byte [edi]
mov ecx, 0x10
mov ebp, dword [ebx + 8]
movzx eax, byte [edi + 1]
add ebp, 4
shl edx, 8
sub ecx, ebp
or edx, eax
mov eax, ebp
shr edx, cl
and ebp, 7
shr eax, 3
and edx, 0xf
add eax, edi
mov dword [ebx + 8], ebp
mov dword [esp + 0x60], eax
mov dword [ebx], eax
mov dword [esp + 0x18], edx
cmp edx, 0xf
jne 0x100c7c6d
movzx edi, byte [eax]
lea edx, [ebp + 4]
movzx eax, byte [eax + 1]
mov ecx, 0x10
shl edi, 8
sub ecx, edx
or edi, eax
mov eax, edx
shr eax, 3
and edx, 7
add eax, dword [esp + 0x60]
shr edi, cl
mov dword [ebx], eax
mov dword [ebx + 8], edx
and edi, 0xf
je 0x100c7c69
add edi, 2
add edi, esi
mov eax, edi
sub eax, esi
push eax
lea eax, [esp + 0x160]
add eax, esi
push 0
push eax
call fcn.100f83e0
add esp, 0xc
inc esi
cmp esi, edi
jb 0x100c7c62
jmp 0x100c7c75
mov edx, dword [esp + 0x18]
mov byte [esp + esi + 0x15c], dl
inc esi
cmp esi, 0x14
jb 0x100c7b88
mov eax, dword [ebx]
xor ecx, ecx
sub eax, dword [ebx + 0x20]
add eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x34]
adc ecx, dword [ebx + 0x2c]
mov edx, dword [ebx + 0x30]
cmp ecx, esi
jb 0x100c7cbd
ja 0x100c8b79
cmp eax, edx
jb 0x100c7cbd
cmp ecx, esi
ja 0x100c8b79
jb 0x100c7cb1
cmp eax, edx
ja 0x100c8b79
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0x10]
ja 0x100c8b79
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1c], xmm0
movups xmmword [esp + 0x2c], xmm0
movups xmmword [esp + 0x3c], xmm0
movups xmmword [esp + 0x4c], xmm0
nop word [eax + eax]
movzx eax, byte [esp + ecx + 0x15c]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x15d]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x15e]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x15f]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x160]
add ecx, 5
inc dword [esp + eax*4 + 0x1c]
cmp ecx, 0x14
jb 0x100c7ce0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + eax*2]
mov eax, dword [esp + 0x28]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x30]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x34]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x38]
mov ecx, edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x38], edx
add edx, eax
lea ecx, [eax + ecx*2]
mov eax, ecx
add ecx, ecx
shl eax, 8
mov dword [esp + 0x70], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x3c]
add ecx, eax
mov dword [esp + 0x3c], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 7
mov dword [esp + 0x74], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x40]
add ecx, eax
mov dword [esp + 0x40], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 6
mov dword [esp + 0x78], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x44], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 5
mov dword [esp + 0x7c], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x48]
add ecx, eax
mov dword [esp + 0x48], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 4
mov dword [esp + 0x80], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x4c]
add ecx, eax
mov dword [esp + 0x4c], edx
add edx, eax
lea eax, [ecx*8]
add ecx, ecx
mov dword [esp + 0x84], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], edx
add ecx, eax
mov dword [esp + 0x94], 0x8000
add edx, eax
lea eax, [ecx*4]
add ecx, ecx
mov dword [esp + 0x88], eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x54]
add ecx, eax
add ecx, ecx
mov dword [esp + 0x54], edx
add edx, eax
mov dword [esp + 0x8c], ecx
mov eax, ecx
sub eax, edx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x58]
add ecx, eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x90], ecx
cmp ecx, 0x8000
jne 0x100c8b79
xor ebp, ebp
mov edi, 1
mov esi, dword [esp + edi*4 + 0x1c]
mov ecx, 6
sub ecx, edi
mov eax, ebp
shr eax, cl
shl esi, cl
mov dword [esp + edi*4 + 0x1c], eax
lea eax, [esp + 0xbc]
push esi
add eax, ebp
push edi
push eax
call fcn.100f83e0
inc edi
add esp, 0xc
add ebp, esi
cmp edi, 6
jbe 0x100c7ea3
xor ecx, ecx
xor ebp, ebp
mov dword [esp + 0x14], ecx
nop dword [eax]
movzx edi, byte [esp + ebp + 0x15c]
test edi, edi
je 0x100c7f5f
mov edx, dword [esp + edi*4 + 0x1c]
lea eax, [edx + 1]
mov dword [esp + edi*4 + 0x1c], eax
cmp edi, 6
jb 0x100c7f05
mov byte [esp + edx + 0x10c], cl
jmp 0x100c7f5f
mov ecx, 6
lea esi, [esp + 0x10c]
sub ecx, edi
shl edx, cl
add edx, esi
mov esi, 1
shl esi, cl
add esi, edx
cmp edi, 4
jb 0x100c7f35
mov ecx, dword [esp + 0x14]
movzx eax, cx
mov word [edx], ax
mov word [esi - 2], ax
jmp 0x100c7f5f
mov edi, dword [esp + 0x14]
nop dword [eax]
movzx eax, di
mov ecx, eax
mov word [edx], ax
mov word [edx + 2], cx
mov word [edx + 4], cx
mov word [edx + 6], cx
add edx, 8
cmp edx, esi
jne 0x100c7f40
mov ecx, dword [esp + 0x14]
inc ebp
add ecx, 0x101
mov dword [esp + 0x14], ecx
cmp ebp, 0x14
jb 0x100c7ee0
mov esi, dword [esp + 0x10]
xor ebp, ebp
mov eax, 0x1ae
mov ecx, 0x1be
cmp byte [esi + 0x13], 0
cmovne eax, ecx
mov dword [esp + 0x14], eax
nop
mov esi, dword [ebx]
cmp esi, dword [ebx + 4]
jb 0x100c7fe4
cmp esi, dword [ebx + 0x18]
jb 0x100c7fa3
mov ecx, ebx
call fcn.100c7850
mov esi, dword [ebx]
xor ecx, ecx
mov edi, dword [ebx + 0x34]
mov eax, esi
sub eax, dword [ebx + 0x20]
add eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x30]
adc ecx, dword [ebx + 0x2c]
cmp ecx, edi
ja 0x100c8b79
jb 0x100c7fe4
cmp eax, edx
jb 0x100c7fe4
cmp ecx, edi
ja 0x100c8b79
jb 0x100c7fd8
cmp eax, edx
ja 0x100c8b79
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0x10]
ja 0x100c8b79
mov edx, dword [esi]
mov ecx, 0x11
mov eax, dword [ebx + 8]
sub ecx, eax
bswap edx
shr edx, cl
and edx, 0x7fff
mov ecx, edx
shr ecx, 9
cmp ecx, dword [esp + 0x6c]
jb 0x100c8039
mov esi, 7
cmp edx, dword [esp + 0x70]
jb 0x100c801c
lea eax, [esp + 0x70]
lea eax, [eax + 4]
inc esi
cmp edx, dword [eax]
jae 0x100c8014
mov edi, dword [ebx + 8]
mov ecx, 0xf
add edi, esi
sub ecx, esi
mov eax, edi
shr edx, cl
shr eax, 3
add dword [ebx], eax
mov eax, dword [ebx]
sub edx, dword [esp + esi*4 + 0x7c]
jmp 0x100c804e
movzx edi, byte [esp + ecx + 0xbc]
mov edx, ecx
add edi, eax
mov eax, edi
shr eax, 3
add eax, esi
mov dword [ebx], eax
mov cl, byte [esp + edx + 0x10c]
and edi, 7
movzx edx, cl
mov dword [esp + 0x18], eax
mov dword [esp + 0x60], edi
mov dword [ebx + 8], edi
mov dword [esp + 0x64], edx
cmp edx, 0x10
jae 0x100c807d
mov edx, dword [esp + 0x14]
mov byte [esp + ebp + 0x15c], cl
inc ebp
jmp 0x100c80f2
mov ecx, dword [esp + 0x60]
mov edi, edx
movzx edx, byte [eax]
and edi, 1
movzx eax, byte [eax + 1]
shl edx, 8
or edx, eax
shl edi, 2
lea esi, [ecx + 3]
mov eax, 0xffff
shr eax, cl
add esi, edi
and edx, eax
mov ecx, 0x10
sub ecx, esi
mov eax, esi
shr eax, 3
and esi, 7
add eax, dword [esp + 0x18]
shr edx, cl
mov dword [ebx], eax
mov dword [ebx + 8], esi
lea eax, [edx + 3]
mov edx, dword [esp + 0x14]
lea eax, [eax + edi*2]
add eax, ebp
cmp eax, edx
cmova eax, edx
xor cl, cl
cmp dword [esp + 0x64], 0x12
jae 0x100c80e6
test ebp, ebp
je 0x100c8b79
mov cl, byte [esp + ebp + 0x15b]
mov byte [esp + ebp + 0x15c], cl
inc ebp
cmp ebp, eax
jb 0x100c80e6
cmp ebp, edx
jb 0x100c7f90
mov edx, dword [ebx]
xor ecx, ecx
mov edi, dword [ebx + 0x34]
mov eax, edx
sub eax, dword [ebx + 0x20]
add eax, dword [ebx + 0x28]
mov esi, dword [ebx + 0x30]
adc ecx, dword [ebx + 0x2c]
cmp ecx, edi
jb 0x100c813b
ja 0x100c8b79
cmp eax, esi
jb 0x100c813b
cmp ecx, edi
ja 0x100c8b79
jb 0x100c812f
cmp eax, esi
ja 0x100c8b79
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 0x10]
ja 0x100c8b79
cmp edx, dword [ebx + 0x1c]
jb 0x100c8150
ja 0x100c8b79
cmp dword [ebx + 8], 0
jne 0x100c8b79
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1c], xmm0
movups xmmword [esp + 0x2c], xmm0
movups xmmword [esp + 0x3c], xmm0
movups xmmword [esp + 0x4c], xmm0
nop dword [eax]
movzx eax, byte [esp + ecx + 0x15c]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x15d]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x15e]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x15f]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x160]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x161]
add ecx, 6
inc dword [esp + eax*4 + 0x1c]
cmp ecx, 0x132
jb 0x100c8170
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x28]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x30]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x34]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x38]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x3c]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x40]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x44]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x48]
mov dword [ebp + 0xc8], edx
mov ecx, edx
mov dword [ebp + 0xe4], edx
mov dword [esp + 0x48], edx
add edx, eax
lea ecx, [eax + ecx*2]
mov eax, ecx
add ecx, ecx
shl eax, 4
mov dword [ebp + 0xcc], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xe8], eax
mov eax, dword [esp + 0x4c]
add ecx, eax
mov dword [esp + 0x4c], edx
add edx, eax
lea eax, [ecx*8]
add ecx, ecx
mov dword [ebp + 0xd0], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xec], eax
mov eax, dword [esp + 0x50]
add ecx, eax
mov dword [esp + 0x50], edx
add edx, eax
lea eax, [ecx*4]
add ecx, ecx
mov dword [ebp + 0xd4], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xf0], eax
mov eax, dword [esp + 0x54]
add ecx, eax
add ecx, ecx
mov dword [esp + 0x54], edx
add edx, eax
mov dword [ebp + 0xd8], ecx
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xf4], eax
mov eax, dword [esp + 0x58]
add ecx, eax
mov dword [ebp + 0xdc], ecx
mov dword [esp + 0x58], edx
mov dword [ebp + 0xe0], 0x8000
je 0x100c8381
cmp ecx, 0x8000
jne 0x100c8b79
xor ebx, ebx
mov edi, 1
nop word [eax + eax]
mov esi, dword [esp + edi*4 + 0x1c]
mov ecx, 0xa
sub ecx, edi
mov eax, ebx
shr eax, cl
shl esi, cl
mov dword [esp + edi*4 + 0x1c], eax
lea eax, [ebp + 0xf8]
push esi
add eax, ebx
push edi
push eax
call fcn.100f83e0
inc edi
add esp, 0xc
add ebx, esi
cmp edi, 0xa
jbe 0x100c82e0
xor edx, edx
xor ebx, ebx
movzx edi, byte [esp + ebx + 0x15c]
test edi, edi
je 0x100c8372
mov esi, dword [esp + edi*4 + 0x1c]
lea eax, [esi + 1]
mov dword [esp + edi*4 + 0x1c], eax
cmp edi, 0xa
jb 0x100c833a
mov word [ebp + esi*2 + 0x4f8], dx
jmp 0x100c8372
mov ecx, 0xb
lea eax, [ebp + 0x4f8]
sub ecx, edi
shl esi, cl
add eax, esi
mov esi, 1
shl esi, cl
add esi, eax
cmp edi, 8
jb 0x100c8360
mov dword [eax], edx
mov dword [esi - 4], edx
jmp 0x100c8372
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
add eax, 0x10
cmp eax, esi
jne 0x100c8360
inc ebx
add edx, 0x10001
cmp ebx, 0x132
jb 0x100c8314
cmp byte [ebp + 0x13], 0
jne 0x100c83ab
lea ecx, [esp + 0x309]
mov edx, 0x3c
mov al, byte [ecx]
lea ecx, [ecx - 1]
mov byte [ecx + 0x11], al
sub edx, 1
jne 0x100c8393
xorps xmm0, xmm0
movups xmmword [esp + 0x2ce], xmm0
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1c], xmm0
movups xmmword [esp + 0x2c], xmm0
movups xmmword [esp + 0x3c], xmm0
movups xmmword [esp + 0x4c], xmm0
movzx eax, byte [esp + ecx + 0x28e]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x28f]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x290]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x291]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x292]
add ecx, 5
inc dword [esp + eax*4 + 0x1c]
cmp ecx, 0x50
jb 0x100c83c4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x28]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x30]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x34]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x38]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0xf48], edx
mov ecx, edx
mov dword [ebp + 0xf70], edx
mov dword [esp + 0x3c], edx
add edx, eax
lea ecx, [eax + ecx*2]
mov eax, ecx
add ecx, ecx
shl eax, 7
mov dword [ebp + 0xf4c], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xf74], eax
mov eax, dword [esp + 0x40]
add ecx, eax
mov dword [esp + 0x40], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 6
mov dword [ebp + 0xf50], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xf78], eax
mov eax, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x44], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 5
mov dword [ebp + 0xf54], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xf7c], eax
mov eax, dword [esp + 0x48]
add ecx, eax
mov dword [esp + 0x48], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 4
mov dword [ebp + 0xf58], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xf80], eax
mov eax, dword [esp + 0x4c]
add ecx, eax
mov dword [esp + 0x4c], edx
add edx, eax
lea eax, [ecx*8]
add ecx, ecx
mov dword [ebp + 0xf5c], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xf84], eax
mov eax, dword [esp + 0x50]
add ecx, eax
mov dword [esp + 0x50], edx
add edx, eax
lea eax, [ecx*4]
add ecx, ecx
mov dword [ebp + 0xf60], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0xf88], eax
mov eax, dword [esp + 0x54]
add ecx, eax
mov dword [esp + 0x54], edx
add edx, eax
add ecx, ecx
mov eax, ecx
mov dword [ebp + 0xf64], ecx
sub eax, edx
mov dword [ebp + 0xf8c], eax
mov eax, dword [esp + 0x58]
add ecx, eax
mov dword [ebp + 0xf68], ecx
mov dword [esp + 0x58], edx
mov dword [ebp + 0xf6c], 0x8000
je 0x100c8632
cmp ecx, 0x8000
jne 0x100c8b79
xor ebx, ebx
mov edi, 1
nop dword [eax]
mov esi, dword [esp + edi*4 + 0x1c]
mov ecx, 7
sub ecx, edi
mov eax, ebx
shr eax, cl
shl esi, cl
mov dword [esp + edi*4 + 0x1c], eax
lea eax, [ebp + 0xf90]
push esi
add eax, ebx
push edi
push eax
call fcn.100f83e0
inc edi
add esp, 0xc
add ebx, esi
cmp edi, 7
jbe 0x100c8570
mov esi, dword [esp + 0x10]
xor ebx, ebx
xor ebp, ebp
nop dword [eax + eax]
movzx edi, byte [esp + ebp + 0x28e]
test edi, edi
je 0x100c8622
mov edx, dword [esp + edi*4 + 0x1c]
lea eax, [edx + 1]
mov dword [esp + edi*4 + 0x1c], eax
cmp edi, 7
jb 0x100c85d5
mov byte [edx + esi + 0x1020], bl
jmp 0x100c8622
mov eax, dword [esp + 0x10]
mov ecx, 7
sub ecx, edi
add eax, 0x1020
shl edx, cl
mov esi, 1
add edx, eax
shl esi, cl
add esi, edx
cmp edi, 5
jb 0x100c8603
movzx eax, bx
mov word [edx], ax
mov word [esi - 2], ax
jmp 0x100c861e
movzx eax, bx
mov ecx, eax
mov word [edx], ax
mov word [edx + 2], cx
mov word [edx + 4], cx
mov word [edx + 6], cx
add edx, 8
cmp edx, esi
jne 0x100c8603
mov esi, dword [esp + 0x10]
inc ebp
add ebx, 0x101
cmp ebp, 0x50
jb 0x100c85b0
mov ebp, dword [esp + 0x10]
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1c], xmm0
movups xmmword [esp + 0x2c], xmm0
movups xmmword [esp + 0x3c], xmm0
movups xmmword [esp + 0x4c], xmm0
nop dword [eax + eax]
movzx eax, byte [esp + ecx + 0x2ee]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x2ef]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x2f0]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x2f1]
add ecx, 4
inc dword [esp + eax*4 + 0x1c]
cmp ecx, 0x2c
jb 0x100c8650
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x28]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x30]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x34]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x38]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x11d4], edx
mov ecx, edx
mov dword [ebp + 0x11fc], edx
mov dword [esp + 0x3c], edx
add edx, eax
lea ecx, [eax + ecx*2]
mov eax, ecx
add ecx, ecx
shl eax, 7
mov dword [ebp + 0x11d8], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1200], eax
mov eax, dword [esp + 0x40]
add ecx, eax
mov dword [esp + 0x40], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 6
mov dword [ebp + 0x11dc], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1204], eax
mov eax, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x44], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 5
mov dword [ebp + 0x11e0], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1208], eax
mov eax, dword [esp + 0x48]
add ecx, eax
mov dword [esp + 0x48], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 4
mov dword [ebp + 0x11e4], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x120c], eax
mov eax, dword [esp + 0x4c]
add ecx, eax
mov dword [esp + 0x4c], edx
add edx, eax
lea eax, [ecx*8]
add ecx, ecx
mov dword [ebp + 0x11e8], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1210], eax
mov eax, dword [esp + 0x50]
add ecx, eax
mov dword [esp + 0x50], edx
add edx, eax
lea eax, [ecx*4]
add ecx, ecx
mov dword [ebp + 0x11ec], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1214], eax
mov eax, dword [esp + 0x54]
add ecx, eax
mov dword [esp + 0x54], edx
add edx, eax
add ecx, ecx
mov eax, ecx
mov dword [ebp + 0x11f0], ecx
sub eax, edx
mov dword [ebp + 0x1218], eax
mov eax, dword [esp + 0x58]
add ecx, eax
mov dword [ebp + 0x11f4], ecx
mov dword [esp + 0x58], edx
mov dword [ebp + 0x11f8], 0x8000
je 0x100c88a2
cmp ecx, 0x8000
jne 0x100c8b79
xor ebx, ebx
mov edi, 1
nop dword [eax]
mov esi, dword [esp + edi*4 + 0x1c]
mov ecx, 7
sub ecx, edi
mov eax, ebx
shr eax, cl
shl esi, cl
mov dword [esp + edi*4 + 0x1c], eax
lea eax, [ebx + 0x121c]
push esi
add eax, ebp
push edi
push eax
call fcn.100f83e0
inc edi
add esp, 0xc
add ebx, esi
cmp edi, 7
jbe 0x100c87f0
xor ebx, ebx
xor ebp, ebp
movzx edi, byte [esp + ebp + 0x2ee]
test edi, edi
je 0x100c8892
mov edx, dword [esp + edi*4 + 0x1c]
lea eax, [edx + 1]
mov dword [esp + edi*4 + 0x1c], eax
mov eax, dword [esp + 0x10]
cmp edi, 7
jb 0x100c884d
mov byte [edx + eax + 0x12ac], bl
jmp 0x100c8892
mov ecx, 7
add eax, 0x12ac
sub ecx, edi
mov esi, 1
shl edx, cl
add edx, eax
shl esi, cl
add esi, edx
cmp edi, 5
jb 0x100c8877
movzx eax, bx
mov word [edx], ax
mov word [esi - 2], ax
jmp 0x100c8892
movzx eax, bx
mov ecx, eax
mov word [edx], ax
mov word [edx + 2], cx
mov word [edx + 4], cx
mov word [edx + 6], cx
add edx, 8
cmp edx, esi
jne 0x100c8877
inc ebp
add ebx, 0x101
cmp ebp, 0x2c
jb 0x100c8824
mov ebp, dword [esp + 0x10]
mov byte [ebp + 0xc], 0
xor eax, eax
nop dword [eax + eax]
cmp byte [esp + eax + 0x2de], 4
jne 0x100c88d3
inc eax
cmp eax, 0x10
jb 0x100c88b0
pop edi
pop esi
mov byte [ebp + 0x14], 1
xor eax, eax
pop ebp
pop ebx
add esp, 0x30c
ret 4
xorps xmm0, xmm0
xor ecx, ecx
movups xmmword [esp + 0x1c], xmm0
movups xmmword [esp + 0x2c], xmm0
movups xmmword [esp + 0x3c], xmm0
movups xmmword [esp + 0x4c], xmm0
nop dword [eax]
movzx eax, byte [esp + ecx + 0x2de]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x2df]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x2e0]
inc dword [esp + eax*4 + 0x1c]
movzx eax, byte [esp + ecx + 0x2e1]
add ecx, 4
inc dword [esp + eax*4 + 0x1c]
cmp ecx, 0x10
jb 0x100c88f0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x28]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x2c]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x30]
lea ecx, [eax + ecx*2]
mov eax, dword [esp + 0x34]
lea edx, [eax + ecx*2]
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x10e8], edx
mov ecx, edx
mov dword [ebp + 0x1114], edx
mov dword [esp + 0x38], edx
add edx, eax
lea ecx, [eax + ecx*2]
mov eax, ecx
add ecx, ecx
shl eax, 8
mov dword [ebp + 0x10ec], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1118], eax
mov eax, dword [esp + 0x3c]
add ecx, eax
mov dword [esp + 0x3c], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 7
mov dword [ebp + 0x10f0], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x111c], eax
mov eax, dword [esp + 0x40]
add ecx, eax
mov dword [esp + 0x40], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 6
mov dword [ebp + 0x10f4], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1120], eax
mov eax, dword [esp + 0x44]
add ecx, eax
mov dword [esp + 0x44], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 5
mov dword [ebp + 0x10f8], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1124], eax
mov eax, dword [esp + 0x48]
add ecx, eax
mov dword [esp + 0x48], edx
add edx, eax
mov eax, ecx
add ecx, ecx
shl eax, 4
mov dword [ebp + 0x10fc], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1128], eax
mov eax, dword [esp + 0x4c]
add ecx, eax
mov dword [esp + 0x4c], edx
add edx, eax
lea eax, [ecx*8]
add ecx, ecx
mov dword [ebp + 0x1100], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x112c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x50], edx
add ecx, eax
add edx, eax
lea eax, [ecx*4]
add ecx, ecx
mov dword [ebp + 0x1104], eax
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1130], eax
mov eax, dword [esp + 0x54]
add ecx, eax
add ecx, ecx
mov dword [esp + 0x54], edx
add edx, eax
mov dword [ebp + 0x1108], ecx
mov eax, ecx
sub eax, edx
mov dword [ebp + 0x1134], eax
mov eax, dword [esp + 0x58]
add ecx, eax
mov dword [ebp + 0x110c], ecx
mov dword [esp + 0x58], edx
mov dword [ebp + 0x1110], 0x8000
je 0x100c8b62
cmp ecx, 0x8000
jne 0x100c8b79
xor ebx, ebx
mov edi, 1
nop dword [eax + eax]
mov esi, dword [esp + edi*4 + 0x1c]
mov ecx, 6
sub ecx, edi
mov eax, ebx
shr eax, cl
shl esi, cl
mov dword [esp + edi*4 + 0x1c], eax
lea eax, [ebx + 0x1138]
push esi
add eax, ebp
push edi
push eax
call fcn.100f83e0
inc edi
add esp, 0xc
add ebx, esi
cmp edi, 6
jbe 0x100c8ab0
xor ebx, ebx
xor ebp, ebp
movzx edi, byte [esp + ebp + 0x2de]
test edi, edi
je 0x100c8b52
mov edx, dword [esp + edi*4 + 0x1c]
lea eax, [edx + 1]
mov dword [esp + edi*4 + 0x1c], eax
mov eax, dword [esp + 0x10]
cmp edi, 6
jb 0x100c8b0d
mov byte [edx + eax + 0x1188], bl
jmp 0x100c8b52
mov ecx, 6
add eax, 0x1188
sub ecx, edi
mov esi, 1
shl edx, cl
add edx, eax
shl esi, cl
add esi, edx
cmp edi, 4
jb 0x100c8b37
movzx eax, bx
mov word [edx], ax
mov word [esi - 2], ax
jmp 0x100c8b52
movzx eax, bx
mov ecx, eax
mov word [edx], ax
mov word [edx + 2], cx
mov word [edx + 4], cx
mov word [edx + 6], cx
add edx, 8
cmp edx, esi
jne 0x100c8b37
inc ebp
add ebx, 0x101
cmp ebp, 0x10
jb 0x100c8ae4
mov ebp, dword [esp + 0x10]
pop edi
pop esi
mov byte [ebp + 0xc], 1
xor eax, eax
mov byte [ebp + 0x14], 1
pop ebp
pop ebx
add esp, 0x30c
ret 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30c
ret 4