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

Disassembly:
sub esp, 0x328
mov ecx, dword [esp + 0x32c]
mov dword [esp + 0xcc], 0
mov dword [esp + 0xb8], 0
movq xmm0, qword [esp + 0xb4]
mov edx, dword [ecx + 0x50]
mov dword [esp + 8], edx
mov ecx, dword [ecx + 0x44]
mov eax, dword [esp + 8]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc8], ecx
movups xmm1, xmmword [esp + 0xc0]
push ebx
movq qword [esp + 0x64], xmm0
movups xmmword [esp + 0x70], xmm1
mov dword [esp + 0x6c], 1
movups xmm0, xmmword [esp + 0x64]
push ebp
push esi
movups xmmword [esp + 0x1c], xmm0
lea esi, [esp + 0x338]
mov dword [esp + 0x3c], 0x101635bb
movq xmm0, qword [esp + 0x7c]
psrldq xmm1, 0xc
push edi
movq qword [esp + 0x30], xmm0
lea edi, [esp + 0x18]
mov edx, dword [esp + 0x34]
movd dword [esp + 0x38], xmm1
test edx, edx
je 0x100c0812
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x24]
call fcn.100a89c0
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x12], 6
jne 0x100c0812
mov eax, dword [esp + 0x28]
add dword [esp + 0x24], eax
mov eax, 1
mov edx, dword [esp + 0x34]
cmp edx, eax
cmovb eax, edx
sub edx, eax
add dword [esp + 0x38], eax
mov dword [esp + 0x34], edx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x30]
lea eax, [eax + ecx*4]
mov dword [esp + 0x30], eax
jmp 0x100c07c6
movups xmm0, xmmword [esp + 0x1c]
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], edi
movups xmmword [esp + 0x74], xmm0
mov dword [esp + 0xa4], 0x101635b8
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [esp + 0x84], xmm0
movq xmm0, qword [esp + 0x3c]
movq qword [esp + 0x94], xmm0
mov edx, dword [esp + 0x8c]
test edx, edx
je 0x100c08b1
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x7c]
call fcn.100a89c0
mov eax, dword [esp + 0x6c]
cmp byte [eax + 0x12], 0xe
jne 0x100c08b1
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x68]
inc ecx
mov eax, dword [eax]
mov edx, dword [eax + 0x44]
cmp ecx, edx
jae 0x100c08b1
mov eax, dword [esp + 0xa0]
mov esi, dword [eax]
lea eax, [ecx + ecx*4]
lea eax, [eax*4 + 0x12]
add eax, esi
nop
cmp byte [eax], 6
jne 0x100c097d
inc ecx
add eax, 0x14
cmp ecx, edx
jb 0x100c08a0
movups xmm4, xmmword [esp + 0x70]
mov dword [esp + 0xc8], 0
xor esi, esi
movq xmm0, qword [esp + 0xc4]
movups xmm3, xmmword [esp + 0x80]
mov dword [esp + 0x24], 1
movups xmm2, xmmword [esp + 0x90]
mov byte [esp + 0xb8], 0
movq xmm1, qword [esp + 0xa0]
movq qword [esp + 0x1c], xmm0
movups xmmword [esp + 0x28], xmm4
movups xmm0, xmmword [esp + 0x1c]
movups xmmword [esp + 0x38], xmm3
movups xmmword [esp + 0x74], xmm0
movups xmm0, xmmword [esp + 0x2c]
movups xmmword [esp + 0x48], xmm2
movups xmmword [esp + 0x84], xmm0
movups xmm0, xmmword [esp + 0x3c]
movq qword [esp + 0x58], xmm1
mov eax, dword [esp + 0x5c]
movups xmmword [esp + 0x94], xmm0
mov dword [esp + 0xb4], eax
movups xmm0, xmmword [esp + 0x4c]
movups xmmword [esp + 0x1c], xmm4
movups xmmword [esp + 0xa4], xmm0
movups xmmword [esp + 0x2c], xmm3
movups xmmword [esp + 0x3c], xmm2
movq qword [esp + 0x4c], xmm1
cmp dword [esp + 0x38], 0
setne al
test al, al
je 0x100c0a0b
lea ecx, [esp + 0x1c]
call fcn.1000a6c0
inc esi
jmp 0x100c0961
lea eax, [ecx + ecx*4]
movzx eax, word [esi + eax*4 + 0x10]
and eax, 0x1f
sub eax, 0xa
cmp eax, 2
ja 0x100c08b1
nop dword [eax]
nop dword [eax + eax]
mov eax, dword [esp + 0x80]
add dword [esp + 0x7c], eax
mov eax, 1
mov edx, dword [esp + 0x8c]
cmp edx, eax
cmovb eax, edx
add dword [esp + 0x90], eax
sub edx, eax
mov dword [esp + 0x8c], edx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x88]
lea eax, [eax + ecx*4]
mov dword [esp + 0x88], eax
test edx, edx
je 0x100c08b1
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x7c]
call fcn.100a89c0
mov eax, dword [esp + 0xc0]
cmp byte [eax + 0x12], 6
je 0x100c09a0
jmp 0x100c0851
or eax, 0xffffffff
lea ecx, [esp + 0x70]
cmp esi, 0xffffffff
cmovae esi, eax
lea eax, [esp + 0x2a0]
push esi
push eax
call fcn.100a8580
lea eax, [esp + 0x2a0]
push eax
lea ecx, [esp + 0x2f0]
call fcn.100a5540
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x164]
call fcn.100a5540
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a5540
xor ebp, ebp
mov byte [esp + 0x1a8], 1
cmp byte [esp + 0x2e8], 0
mov ebx, 1
mov byte [esp + 0x64], 1
mov dword [esp + 0x14], ebx
jne 0x100c0aac
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x2a8]
call fcn.100a81b0
mov esi, eax
lea ecx, [esp + 0x74]
lea eax, [esp + 0xd0]
push eax
call fcn.100a81b0
mov ecx, dword [eax]
cmp ecx, dword [esi]
je 0x100c1724
movsx eax, byte [ebp + 0x10153e50]
sub eax, 2
jne 0x100c0b46
mov al, byte [esp + 0xb8]
lea ecx, [esp + 0x178]
mov byte [esp + 0x1a8], al
lea eax, [esp + 0xd0]
push eax
call fcn.100a89c0
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x8c]
call fcn.100a89c0
mov ecx, dword [esp + 0x168]
mov eax, dword [esp + 0x78]
cmp ecx, eax
jae 0x100c0b12
sub eax, ecx
lea ecx, [esp + 0x164]
push eax
call fcn.100a8730
jmp 0x100c0b46
mov eax, dword [esp + 0x78]
cmp ecx, eax
jbe 0x100c0b46
mov esi, dword [esp + 0x16c]
mov edi, ecx
sub edi, eax
mov edx, edi
mov eax, edx
dec edx
test eax, eax
je 0x100c0b32
sub ecx, esi
jmp 0x100c0b27
mov dword [esp + 0x168], ecx
lea ecx, [esp + 0x171]
push edi
call fcn.100a8b90
movsx edi, word [ebp*2 + 0x101529d0]
movsx esi, byte [ebp + str.65_____]
add edi, 0x10152ae0
test esi, esi
jle 0x100c0bd6
lea eax, [esp + 0x204]
push eax
lea ecx, [esp + 0x8c]
call fcn.100a89c0
mov eax, dword [esp + 0x208]
mov cl, byte [ebp*2 + 0x10152850]
cmp cl, byte [eax + 0x12]
ja 0x100c0bd6
lea eax, [esp + 0x22c]
push eax
lea ecx, [esp + 0x8c]
call fcn.100a89c0
mov eax, dword [esp + 0x230]
mov al, byte [eax + 0x12]
cmp al, byte [ebp*2 + str.5_v5_v5]
ja 0x100c0bd6
lea eax, [esp + 0x23c]
push eax
lea ecx, [esp + 0x8c]
call fcn.100a89c0
mov eax, dword [esp + 0x240]
movzx esi, byte [eax + 0x12]
movzx eax, byte [ebp*2 + 0x10152850]
sub esi, eax
movzx eax, byte [esi + edi]
movsx ebp, byte [eax + 0x10153cb0]
mov al, byte [eax + 0x10153d40]
test al, al
je case.default.0x100c0bfe
movsx eax, al
add eax, 0xfffffffd
cmp eax, 0x11
ja case.default.0x100c0bfe
jmp dword [eax*4 + 0x100c17a4]
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x244]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x244]
lea eax, [esp + 0xe0]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0xe0]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
shl edi, 2
nop dword [eax + eax]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0xe0]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0xe0]
jb 0x100c0c70
jmp 0x100c1680
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x24c]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x24c]
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0xe8]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 1
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0xe8]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0xe8]
jb 0x100c0d01
jmp 0x100c1680
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x1ac]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1ac]
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0xf0]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 2
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0xf0]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0xf0]
jb 0x100c0d92
jmp 0x100c1680
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x1b4]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1b4]
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0xf8]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 3
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0xf8]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0xf8]
jb 0x100c0e23
jmp 0x100c1680
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x1bc]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1bc]
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x100]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 4
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x100]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x100]
jb 0x100c0eb4
jmp 0x100c1680
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x1c4]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1c4]
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x108]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 5
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x108]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x108]
jb 0x100c0f45
jmp 0x100c1680
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1cc]
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x110]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 6
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x110]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x110]
jb 0x100c0fd6
jmp 0x100c1680
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x1d4]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1d4]
lea eax, [esp + 0x118]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x118]
jae 0x100c108d
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 7
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x118]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x118]
jb 0x100c1063
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x33c]
or dword [eax + 0x90], 0x40
jmp 0x100c1684
push 1
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8580
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
lea eax, [esp + 0x1dc]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1dc]
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x120]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 8
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x120]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x120]
jb 0x100c1106
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x1e4]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1e4]
lea eax, [esp + 0x128]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x128]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
shl edi, 2
nop dword [eax + eax]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x128]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x128]
jb 0x100c11a0
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1ec]
lea eax, [esp + 0x130]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x130]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 1
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x130]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x130]
jb 0x100c1235
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x1f4]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1f4]
lea eax, [esp + 0x138]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x138]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 2
shl edi, 2
nop word [eax + eax]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x138]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x138]
jb 0x100c12d0
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x1fc]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x1fc]
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x140]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 3
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x140]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x140]
jb 0x100c1365
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x234]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x234]
lea eax, [esp + 0x148]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x148]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 4
shl edi, 2
nop word [eax + eax]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x148]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x148]
jb 0x100c1400
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x20c]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x20c]
lea eax, [esp + 0x150]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x150]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 5
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x150]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x150]
jb 0x100c1495
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x214]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x214]
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x158]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 6
shl edi, 2
nop word [eax + eax]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x158]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x158]
jb 0x100c1530
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x21c]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x21c]
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0xbc]
jae 0x100c108d
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 7
shl edi, 2
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0xbc]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0xbc]
jb 0x100c15c5
mov eax, dword [esp + 0x33c]
or dword [eax + 0x90], 0x40
jmp 0x100c1680
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x20]
call fcn.100a7900
push 0
lea eax, [esp + 0x258]
push eax
lea ecx, [esp + 0x78]
call fcn.100a8530
lea eax, [esp + 0x224]
push eax
lea ecx, [esp + 0x17c]
call fcn.100a89c0
mov esi, dword [esp + 0x224]
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x38]
call fcn.100a89c0
cmp esi, dword [esp + 0x68]
jae 0x100c1684
mov byte [esp + 0x13], bl
lea edi, [esi + esi*4]
shl bl, 4
or bl, 8
shl edi, 2
nop
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x34]
inc esi
lea edi, [edi + 0x14]
mov byte [edi + eax - 5], bl
lea eax, [esp + 0x68]
push eax
call fcn.100a89c0
cmp esi, dword [esp + 0x68]
jb 0x100c1660
mov ebx, dword [esp + 0x14]
cmp ebx, 0xf
lea eax, [ebx + 1]
mov ecx, 1
cmovne ecx, eax
mov ebx, ecx
mov dword [esp + 0x14], ebx
movsx eax, byte [ebp + 0x10153dd0]
sub eax, 1
jne 0x100c16ac
mov byte [esp + 0x1a8], 1
mov eax, dword [esp + 0x7c]
lea ecx, [esp + 0x80]
add dword [esp + 0x78], eax
call fcn.1000a6c0
cmp byte [esp + 0xb8], 0
je 0x100c16d4
movzx eax, byte [esp + 0x2e8]
jmp 0x100c171c
cmp byte [esp + 0x2e8], 0
jne 0x100c171a
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x8c]
call fcn.100a89c0
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x2bc]
call fcn.100a89c0
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x2a8]
jne 0x100c171a
mov eax, 1
jmp 0x100c171c
xor eax, eax
test al, al
je 0x100c0aac
cmp byte [esp + 0xb8], 0
je 0x100c1738
movzx eax, byte [esp + 0x334]
jmp 0x100c1780
cmp byte [esp + 0x334], 0
jne 0x100c177e
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0x8c]
call fcn.100a89c0
lea eax, [esp + 0xd0]
push eax
lea ecx, [esp + 0x308]
call fcn.100a89c0
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x2f4]
jne 0x100c177e
mov eax, 1
jmp 0x100c1780
xor eax, eax
test al, al
je 0x100c1798
movzx eax, word [ebp*2 + 0x10153ed0]
test ax, ax
jle 0x100c1798
cwde
dec eax
jmp 0x100c0bda
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x328
ret