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

Disassembly:
sub esp, 0x2c
push ebx
mov ebx, ecx
cmp dword [ebx + 0x14], 0x1c
push ebp
push esi
mov ebp, dword [ebx + 0x34]
lea esi, [ebx + 8]
push edi
mov edi, dword [ebx + 4]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x18], edi
jb 0x100c0a1b
mov ecx, esi
call fcn.10112680
mov eax, dword [ebx]
cmp eax, 7
je 0x100bfd5a
cmp eax, 8
je 0x100c0090
cmp eax, 9
je 0x100c03b0
cmp eax, 0xa
je 0x100c0943
mov eax, 0xffffffe1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
cmp dword [esi + 0xc], 0x1c
jb 0x100c0a15
cmp dword [ebx + 0xc8], 0
jne 0x100bfd76
mov ecx, ebx
call fcn.100bede0
jmp 0x100bfd5a
mov edi, dword [esi + 4]
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], eax
cmp edi, 0x10
jb 0x100bfdb0
mov ecx, dword [esi + 8]
xor edi, 0x10
movzx edx, word [esi + 2]
mov dword [esi], edx
mov dword [esi + 4], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
add dword [esi + 0xc], 0xfffffffe
mov dword [esi], eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov edx, dword [esi]
mov ecx, edi
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x20], eax
movzx eax, al
lea eax, [ecx + eax*4]
mov dword [esp + 0x18], eax
mov al, byte [eax]
cmp al, 8
jbe 0x100bfe00
shr dword [esp + 0x20], 8
add edi, 8
movzx eax, al
mov dword [esi + 4], edi
mov ecx, dword [eax*4 + 0x1019e760]
mov eax, dword [esp + 0x18]
and ecx, dword [esp + 0x20]
movzx eax, word [eax + 2]
add ecx, eax
mov eax, dword [esp + 0x18]
lea eax, [eax + ecx*4]
mov dword [esp + 0x18], eax
mov al, byte [eax]
movzx eax, al
add eax, edi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 2]
mov edi, dword [eax*8 + 0x1019d11c]
mov ecx, dword [eax*8 + 0x1019d118]
mov eax, edi
mov dword [esp + 0x24], ecx
shrd ecx, eax, 0x10
mov dword [esp + 0x1c], edi
movsx eax, cl
mov ecx, dword [esp + 0x24]
mov dword [ebx + 0x11c], eax
mov eax, edi
shrd ecx, eax, 0x18
mov eax, dword [ebx + 0x78]
movzx ecx, cl
mov dword [ebx + 0xb8], ecx
movzx edi, di
mov al, byte [ecx + eax]
mov byte [ebx + 0x10c], al
mov eax, dword [esp + 0x24]
test al, al
je 0x100bff68
mov ecx, dword [esi + 4]
movzx eax, al
mov dword [esp + 0x18], eax
cmp eax, 0x10
ja 0x100bfebe
cmp ecx, 0x10
jb 0x100bfea3
mov eax, dword [esi + 8]
xor ecx, 0x10
shr edx, 0x10
mov dword [esi], edx
mov dword [esp + 0x20], edx
mov dword [esi + 4], ecx
movzx edx, word [eax]
add dword [esi + 0xc], 0xfffffffe
shl edx, 0x10
or edx, dword [esp + 0x20]
add eax, 2
mov dword [esi + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esi], edx
add eax, ecx
mov dword [esi + 4], eax
mov eax, edx
shr eax, cl
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx*4 + 0x1019e780]
and ecx, eax
jmp 0x100bff60
cmp ecx, 0x10
jb 0x100bfeeb
mov eax, dword [esi + 8]
xor ecx, 0x10
shr edx, 0x10
mov dword [esi], edx
mov dword [esp + 0x20], edx
mov dword [esi + 4], ecx
movzx edx, word [eax]
add dword [esi + 0xc], 0xfffffffe
shl edx, 0x10
or edx, dword [esp + 0x20]
add eax, 2
mov dword [esi], edx
mov dword [esi + 8], eax
mov eax, edx
mov dword [esp + 0x14], edx
shr eax, cl
movzx eax, ax
mov dword [esp + 0x2c], eax
lea eax, [ecx + 0x10]
mov dword [esp + 0x20], eax
cmp eax, 0x10
jb 0x100bff36
xor eax, 0x10
mov ecx, edx
mov dword [esi + 4], eax
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
shr ecx, 0x10
mov dword [esi], ecx
movzx edx, word [eax]
add dword [esi + 0xc], 0xfffffffe
shl edx, 0x10
or edx, ecx
add eax, 2
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esi], edx
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
add eax, ecx
mov ecx, dword [esp + 0x20]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x14]
shr eax, cl
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx*4 + 0x1019e740]
and ecx, eax
shl ecx, 0x10
or ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 4]
shr eax, 8
movzx eax, al
mov dword [esp + 0x18], eax
cmp eax, 0x10
ja 0x100bffce
cmp ecx, 0x10
jb 0x100bffb5
xor ecx, 0x10
shr edx, 0x10
mov dword [esi + 4], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 8]
mov dword [esi], edx
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
sub dword [esi + 0xc], 2
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov dword [esi], eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x24]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x18]
add eax, ecx
shr edx, cl
mov dword [esi + 4], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax*4 + 0x1019e780]
and eax, edx
jmp 0x100c0064
cmp ecx, 0x10
jb 0x100c0003
xor ecx, 0x10
shr edx, 0x10
mov dword [esi + 4], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 8]
mov dword [esi], edx
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
sub dword [esi + 0xc], 2
mov edx, eax
mov dword [esp + 0x2c], eax
lea eax, [ecx + 2]
mov dword [esi], edx
mov ecx, dword [esp + 0x24]
mov dword [esi + 8], eax
mov eax, edx
shr eax, cl
add ecx, 0x10
movzx eax, ax
mov dword [esp + 0x24], eax
cmp ecx, 0x10
jb 0x100c0042
xor ecx, 0x10
mov eax, edx
mov dword [esi + 4], ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 8]
shr eax, 0x10
mov dword [esi], eax
movzx edx, word [ecx]
shl edx, 0x10
or edx, eax
sub dword [esi + 0xc], 2
lea eax, [ecx + 2]
mov dword [esi], edx
mov ecx, dword [esp + 0x2c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
shr edx, cl
add eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax*4 + 0x1019e740]
and eax, edx
shl eax, 0x10
or eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
shr ecx, 0x10
add ecx, eax
mov dword [ebx + 0x118], ecx
dec dword [ebx + 0xc8]
add edi, dword [esp + 0x14]
mov dword [esp + 0x18], edi
je 0x100c03b0
sub dword [ebx + 0xbc], edi
nop dword [eax]
cmp dword [ebx + 0xb4], 0
je 0x100c027f
mov eax, dword [esi + 4]
mov edx, dword [ebx + 0x108]
mov dword [esp + 0x1c], edx
cmp eax, 0x10
jb 0x100c00dc
mov ecx, dword [esi + 8]
xor eax, 0x10
movzx edx, word [esi + 2]
mov dword [esp + 0x14], eax
mov dword [esi + 4], eax
mov dword [esi], edx
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
add dword [esi + 0xc], 0xfffffffe
mov edx, dword [esp + 0x1c]
mov dword [esi], eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
jmp 0x100c00e0
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
shr eax, cl
movzx eax, al
movzx ecx, byte [edx + eax*4]
movzx edx, word [edx + eax*4 + 2]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
nop dword [eax]
cmp dword [esi + 0xc], 0x1c
jb 0x100c0996
cmp dword [ebx + 0xc4], 0
jne 0x100c017e
mov ecx, ebx
call fcn.100be790
mov edi, dword [esi + 4]
mov edx, dword [ebx + 0x108]
mov dword [esp + 0x1c], edx
cmp edi, 0x10
jb 0x100c0153
mov ecx, dword [esi + 8]
xor edi, 0x10
movzx edx, word [esi + 2]
mov dword [esi], edx
mov dword [esi + 4], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
add dword [esi + 0xc], 0xfffffffe
mov edx, dword [esp + 0x1c]
mov dword [esi], eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov ecx, edi
mov edi, dword [esp + 0x18]
shr eax, cl
cmp dword [ebx + 0xb4], 0
movzx eax, al
movzx ecx, byte [edx + eax*4]
movzx edx, word [edx + eax*4 + 2]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
je 0x100c027f
mov eax, dword [ebx + 0x108]
mov edi, dword [esi + 4]
mov dword [esp + 0x24], eax
mov dword [esp + 0x34], edx
cmp ecx, 8
jbe 0x100c01fc
cmp edi, 0x10
jb 0x100c01bc
mov ecx, dword [esi + 8]
xor edi, 0x10
movzx edx, word [esi + 2]
mov dword [esi], edx
mov dword [esi + 4], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
add dword [esi + 0xc], 0xfffffffe
mov dword [esi], eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov edx, dword [esi]
mov ecx, edi
shr edx, cl
add edi, 8
mov ecx, dword [esp + 0x20]
mov eax, edx
shr eax, 8
mov dword [esi + 4], edi
mov ecx, dword [ecx*4 + 0x1019e760]
and ecx, eax
movzx eax, dl
add ecx, dword [esp + 0x14]
add eax, ecx
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + eax*4]
movzx eax, byte [ecx]
add edi, eax
mov dword [esi + 4], edi
movzx eax, word [ecx + 2]
mov dword [esp + 0x34], eax
jmp 0x100c0201
add edi, ecx
mov dword [esi + 4], edi
cmp edi, 0x10
jb 0x100c0229
mov ecx, dword [esi + 8]
xor edi, 0x10
movzx edx, word [esi + 2]
mov dword [esi], edx
mov dword [esi + 4], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
add dword [esi + 0xc], 0xfffffffe
mov dword [esi], eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov ecx, edi
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
shr eax, cl
dec edi
movzx eax, al
mov dword [esp + 0x18], edi
movzx ecx, byte [edx + eax*4]
movzx edx, word [edx + eax*4 + 2]
mov eax, dword [ebx + 0x64]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], edx
mov byte [eax + ebp], cl
inc ebp
dec dword [ebx + 0xc4]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], ebp
cmp ebp, dword [ebx + 0x40]
je 0x100c097d
test edi, edi
jne 0x100c0100
jmp 0x100c03a3
mov ecx, dword [ebx + 0x64]
lea eax, [ebp - 1]
and eax, dword [ebx + 0x44]
mov al, byte [eax + ecx]
mov byte [esp + 0x2b], al
lea eax, [ebp - 2]
and eax, dword [ebx + 0x44]
mov al, byte [eax + ecx]
mov byte [esp + 0x33], al
nop dword [eax]
cmp dword [esi + 0xc], 0x1c
jb 0x100c0996
cmp dword [ebx + 0xc4], 0
jne 0x100c02c7
mov ecx, ebx
call fcn.100be790
cmp dword [ebx + 0xb4], 0
jne 0x100c009d
mov ecx, dword [ebx + 0x70]
movzx eax, byte [esp + 0x33]
mov edi, dword [esi + 4]
movzx edx, byte [eax + ecx + 0x100]
movzx eax, byte [esp + 0x2b]
movzx eax, byte [eax + ecx]
or edx, eax
mov eax, dword [ebx + 0x74]
movzx ecx, byte [edx + eax]
mov eax, dword [ebx + 0x7c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1c], eax
mov al, byte [esp + 0x2b]
mov byte [esp + 0x33], al
cmp edi, 0x10
jb 0x100c0326
mov ecx, dword [esi + 8]
xor edi, 0x10
movzx edx, word [esi + 2]
mov dword [esi], edx
mov dword [esi + 4], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
add dword [esi + 0xc], 0xfffffffe
mov dword [esi], eax
lea eax, [ecx + 2]
mov dword [esi + 8], eax
mov eax, dword [esi]
mov ecx, edi
shr eax, cl
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
movzx eax, al
lea edx, [ecx + eax*4]
mov al, byte [edx]
cmp al, 8
jbe 0x100c0369
mov ebp, dword [esp + 0x2c]
add edi, 8
movzx eax, al
shr ebp, 8
mov dword [esi + 4], edi
mov ecx, dword [eax*4 + 0x1019e760]
movzx eax, word [edx + 2]
and ecx, ebp
mov ebp, dword [esp + 0x34]
add ecx, eax
mov al, byte [edx + ecx*4]
lea edx, [edx + ecx*4]
movzx eax, al
add eax, edi
mov edi, dword [esp + 0x18]
mov dword [esi + 4], eax
dec edi
mov eax, dword [ebx + 0x64]
mov cl, byte [edx + 2]
mov byte [esp + 0x2b], cl
mov dword [esp + 0x18], edi
mov byte [eax + ebp], cl
inc ebp
dec dword [ebx + 0xc4]
mov dword [esp + 0x34], ebp
cmp ebp, dword [ebx + 0x40]
je 0x100c097d
test edi, edi
jne 0x100c02a0
cmp dword [ebx + 0xbc], 0
jle 0x100c0891
mov ecx, dword [ebx + 0x11c]
test ecx, ecx
js 0x100c03df
xor eax, eax
test ecx, ecx
sete al
dec dword [ebx + 0x48]
mov dword [ebx + 0xb8], eax
mov eax, dword [ebx + 0x48]
and eax, 3
mov edx, dword [ebx + eax*4 + 0x4c]
mov dword [ebx + 0x11c], edx
jmp 0x100c0793
cmp dword [ebx + 0xcc], 0
jne 0x100c03ef
mov ecx, ebx
call fcn.100bf3b0
movzx ecx, byte [ebx + 0x10c]
mov eax, dword [ebx + 0x9c]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 4]
mov dword [esp + 0x1c], eax
cmp ecx, 0x10
jb 0x100c0436
movzx edx, word [esi + 2]
xor ecx, 0x10
mov dword [esi + 4], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [esi + 8]
mov dword [esi], edx
movzx eax, word [ecx]
shl eax, 0x10
or eax, edx
sub dword [esi + 0xc], 2
mov dword [esi], eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x24]
mov dword [esi + 8], eax
mov edi, dword [esi]
mov eax, edi
mov edx, dword [esp + 0x1c]
shr eax, cl
mov dword [esp + 0x14], eax
movzx eax, al
lea edx, [edx + eax*4]
mov al, byte [edx]
cmp al, 8
jbe 0x100c047d
shr dword [esp + 0x14], 8
add ecx, 8
movzx eax, al
mov dword [esi + 4], ecx
mov dword [esp + 0x24], ecx
mov ecx, dword [eax*4 + 0x1019e760]
movzx eax, word [edx + 2]
and ecx, dword [esp + 0x14]
add ecx, eax
mov al, byte [edx + ecx*4]
lea edx, [edx + ecx*4]
mov ecx, dword [esp + 0x24]
movzx eax, al
add eax, ecx
mov dword [esi + 4], eax
movzx eax, word [edx + 2]
mov dword [ebx + 0x11c], eax
mov dword [ebx + 0xb8], 0
test eax, 0xfffffff0
jne 0x100c0510
mov edx, dword [ebx + 0x48]
test eax, eax
jne 0x100c04c3
lea eax, [edx - 1]
mov dword [ebx + 0x48], eax
and eax, 3
mov edx, dword [ebx + eax*4 + 0x4c]
mov dword [ebx + 0xb8], 1
jmp 0x100c0787
lea ecx, [eax + eax]
mov eax, 0xaaafff1b
shr eax, cl
add eax, edx
and eax, 3
mov edx, dword [ebx + eax*4 + 0x4c]
mov eax, 0xfa5fa500
shr eax, cl
and eax, 3
test cl, 3
je 0x100c04ec
add edx, eax
jmp 0x100c0787
sub edx, eax
mov dword [ebx + 0x11c], edx
test edx, edx
jg 0x100c078d
mov dword [ebx + 0x11c], VariantInit
mov edx, SysReAllocString
jmp 0x100c078d
mov edx, eax
sub edx, dword [ebx + 0xf8]
js 0x100c0784
mov ecx, dword [ebx + 0xf4]
test ecx, ecx
jne 0x100c0650
mov eax, edx
and edx, 1
shr eax, 1
add edx, 2
inc eax
mov ecx, eax
mov dword [esp + 0x20], eax
shl edx, cl
mov ecx, dword [esi + 4]
cmp eax, 0x10
ja 0x100c05a8
cmp ecx, 0x10
jb 0x100c0582
xor ecx, 0x10
shr edi, 0x10
mov dword [esi + 4], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 8]
mov dword [esi], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edi
sub dword [esi + 0xc], 2
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x1c]
mov dword [esi], eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
add eax, ecx
shr edi, cl
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax*4 + 0x1019e780]
mov eax, dword [ebx + 0xf8]
and ecx, edi
add eax, 0xfffffffc
add eax, ecx
add eax, edx
jmp 0x100c0784
cmp ecx, 0x10
jb 0x100c05dd
xor ecx, 0x10
shr edi, 0x10
mov dword [esi + 4], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 8]
mov dword [esi], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edi
sub dword [esi + 0xc], 2
mov edi, eax
mov dword [esp + 0x1c], eax
lea eax, [ecx + 2]
mov dword [esi], edi
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], eax
mov eax, edi
shr eax, cl
add ecx, 0x10
movzx eax, ax
mov dword [esp + 0x2c], eax
cmp ecx, 0x10
jb 0x100c061c
xor ecx, 0x10
mov eax, edi
mov dword [esi + 4], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 8]
shr eax, 0x10
mov dword [esi], eax
movzx edi, word [ecx]
shl edi, 0x10
or edi, eax
sub dword [esi + 0xc], 2
lea eax, [ecx + 2]
mov dword [esi], edi
mov ecx, dword [esp + 0x1c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
shr edi, cl
add eax, ecx
mov dword [esi + 4], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax*4 + 0x1019e740]
mov eax, dword [ebx + 0xf8]
and ecx, edi
shl ecx, 0x10
add eax, 0xfffffffc
or ecx, dword [esp + 0x2c]
add eax, ecx
add eax, edx
jmp 0x100c0784
mov eax, dword [ebx + 0xfc]
and eax, edx
sar edx, cl
mov ecx, dword [esi + 4]
mov dword [esp + 0x2c], eax
mov eax, edx
shr eax, 1
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0x10
ja 0x100c06c3
cmp ecx, 0x10
jb 0x100c06aa
xor ecx, 0x10
shr edi, 0x10
mov dword [esi + 4], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 8]
mov dword [esi], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edi
sub dword [esi + 0xc], 2
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x1c]
mov dword [esi], eax
lea eax, [ecx + 2]
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x18]
add eax, ecx
shr edi, cl
mov ecx, dword [esp + 0x18]
mov dword [esi + 4], eax
mov eax, dword [ecx*4 + 0x1019e780]
and eax, edi
jmp 0x100c0765
cmp ecx, 0x10
jb 0x100c06f8
xor ecx, 0x10
shr edi, 0x10
mov dword [esi + 4], ecx
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 8]
mov dword [esi], edi
movzx eax, word [ecx]
shl eax, 0x10
or eax, edi
sub dword [esi + 0xc], 2
mov edi, eax
mov dword [esp + 0x1c], eax
lea eax, [ecx + 2]
mov dword [esi], edi
mov ecx, dword [esp + 0x14]
mov dword [esi + 8], eax
mov eax, edi
shr eax, cl
add ecx, 0x10
movzx eax, ax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], ecx
cmp ecx, 0x10
jb 0x100c0737
xor ecx, 0x10
mov eax, edi
mov dword [esi + 4], ecx
shr eax, 0x10
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 8]
mov dword [esi], eax
movzx edi, word [ecx]
shl edi, 0x10
or edi, eax
sub dword [esi + 0xc], 2
lea eax, [ecx + 2]
mov dword [esi], edi
mov dword [esi + 8], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
add ecx, 0xfffffff0
add eax, ecx
mov ecx, dword [esp + 0x14]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x18]
shr edi, cl
mov ecx, dword [esp + 0x18]
mov eax, dword [eax*4 + 0x1019e740]
and eax, edi
shl eax, 0x10
or eax, dword [esp + 0x1c]
and edx, 1
add eax, 0xfffffffc
add edx, 2
shl edx, cl
mov ecx, dword [ebx + 0xf4]
add eax, edx
shl eax, cl
add eax, dword [ebx + 0xf8]
add eax, dword [esp + 0x2c]
lea edx, [eax - 0xf]
mov dword [ebx + 0x11c], edx
dec dword [ebx + 0xcc]
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x38]
cmp ecx, eax
je 0x100c07a7
cmp ebp, eax
mov ecx, eax
cmovl ecx, ebp
mov dword [ebx + 0x3c], ecx
mov edi, dword [ebx + 0x118]
cmp edx, ecx
jle 0x100c08aa
cmp edx, 0x7ffffffc
jg 0x100c09ef
lea eax, [edi - 4]
cmp eax, 0x14
ja 0x100c09e2
sub edx, ecx
dec edx
mov dword [esp + 0x14], edx
mov edx, dword [ebx + 0x1374]
mov eax, dword [edx + edi*4 + 0x20]
movzx ecx, byte [edx + edi]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x14]
sar eax, cl
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0xb8]
add dword [ebx + 0x48], eax
mov eax, dword [edx + 0xa4]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], eax
test eax, eax
je 0x100c09d5
mov eax, dword [ebx + 0x1378]
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [eax + 0xc]
jge 0x100c09c8
mov edx, dword [esp + 0x2c]
lea esi, [ebx + 8]
movsx eax, word [eax + 0x14]
mov edx, dword [edx*4 + 0x1019e780]
and edx, dword [esp + 0x14]
imul edx, edi
add edx, dword [esp + 0x24]
add edx, dword [esp + 0x20]
cmp ecx, eax
jne 0x100c0858
mov eax, dword [ebx + 0x64]
push edi
push edx
add eax, ebp
push eax
call fcn.101528b0
mov eax, edi
jmp 0x100c086c
mov eax, dword [ebx + 0x1378]
push ecx
mov ecx, dword [ebx + 0x64]
push eax
push edi
lea ecx, [ecx + ebp]
call fcn.10112e60
sub dword [ebx + 0xbc], eax
add ebp, eax
add esp, 0xc
mov dword [esp + 0x34], ebp
cmp ebp, dword [ebx + 0x40]
jge 0x100c09af
cmp dword [ebx + 0xbc], 0
jg 0x100bfd5a
mov dword [ebx], 0xe
mov eax, 1
mov dword [ebx + 0x34], ebp
mov dword [ebx + 4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov eax, dword [ebx + 0x64]
mov ecx, ebp
sub ecx, edx
and ecx, dword [ebx + 0x44]
lea esi, [eax + ebp]
mov dword [esp + 0x24], esi
lea esi, [eax + ecx]
lea eax, [edi + ebp]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x48]
and eax, 3
mov dword [ebx + eax*4 + 0x4c], edx
lea edx, [ecx + edi]
inc dword [ebx + 0x48]
sub dword [ebx + 0xbc], edi
mov eax, dword [esp + 0x24]
movups xmm0, xmmword [esi]
lea esi, [ebx + 8]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x14]
cmp edx, ebp
jle 0x100c08f8
cmp eax, ecx
jg 0x100c0943
mov ecx, dword [ebx + 0x40]
cmp eax, ecx
jge 0x100c0943
cmp edx, ecx
jge 0x100c0943
mov ebp, eax
mov dword [esp + 0x34], ebp
cmp edi, 0x10
jle 0x100c0884
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
add ecx, 0x10
add edx, 0x10
cmp edi, 0x20
jle 0x100c0938
lea eax, [edi - 0x10]
push eax
push ecx
push edx
call fcn.101528b0
add esp, 0xc
jmp 0x100c0884
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
jmp 0x100c0884
mov edx, dword [ebx + 0x40]
sub edx, ebp
sub edi, 1
js 0x100c0884
mov ecx, dword [ebx + 0x64]
mov eax, ebp
sub eax, dword [ebx + 0x11c]
and eax, dword [ebx + 0x44]
mov al, byte [eax + ecx]
mov byte [ecx + ebp], al
inc ebp
mov dword [esp + 0x34], ebp
sub edx, 1
je 0x100c09fc
sub edi, 1
jns 0x100c0951
jmp 0x100c0884
mov dword [ebx], 0xd
mov eax, 1
mov dword [ebx + 0x34], ebp
mov dword [ebx + 4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov dword [ebx], 8
mov eax, 2
mov dword [ebx + 0x34], ebp
mov dword [ebx + 4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov dword [ebx], 0xf
mov eax, 1
mov dword [ebx + 0x34], ebp
mov dword [ebx + 4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov eax, 0xfffffff5
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov eax, 0xffffffed
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov eax, 0xfffffff4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov eax, 0xfffffff0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov dword [ebx], 0x10
mov eax, 1
mov dword [ebx + 0x34], ebp
mov dword [ebx + 4], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret
mov dword [ebx], 7
mov eax, 2
mov dword [ebx + 4], edi
pop edi
pop esi
mov dword [ebx + 0x34], ebp
pop ebp
pop ebx
add esp, 0x2c
ret