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

Disassembly:
sub esp, 0x100
mov eax, dword [0x101ed004]
xor eax, esp
mov dword [esp + 0xfc], eax
push ebx
push ebp
push esi
mov esi, ecx
mov ebx, edx
mov edx, dword [esp + 0x114]
mov ebp, ebx
push edi
mov edi, dword [esp + 0x114]
mov eax, dword [esi + 0x70f0]
add edi, ebx
mov ecx, dword [esi + 0x703c]
mov dword [esp + 0x54], ebx
mov ebx, dword [esi + 0x7100]
mov dword [esp + 0x4c], esi
add ebx, eax
cmp dword [esp + 0x120], 0
mov esi, dword [esi + 0x7040]
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], ebp
mov dword [esp + 0xc4], eax
mov esi, dword [esi + 0x7044]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], esi
je 0x100f35b0
mov ebx, dword [esp + 0x4c]
mov eax, 4
cmp dword [esp + 0x120], eax
push dword [esp + 0x11c]
cmovl eax, dword [esp + 0x124]
mov dword [esp + 0x3c], eax
mov dword [ebx + 0x708c], 1
mov eax, dword [ebx + 0x682c]
mov dword [esp + 0xa8], eax
mov eax, dword [ebx + 0x6830]
mov dword [esp + 0xac], eax
mov eax, dword [ebx + 0x6834]
mov dword [esp + 0xb0], eax
mov eax, ebp
sub eax, ecx
mov dword [esp + 0xb4], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], esi
call fcn.100f1310
add esp, 4
cmp eax, 0xffffff88
ja 0x100f2bda
mov esi, dword [ebx]
lea ecx, [esp + 0x78]
mov edx, dword [esi + 4]
call fcn.100f1470
lea ecx, [esp + 0x78]
mov dword [esp + 0x8c], eax
call fcn.100f1490
lea eax, [esi + 8]
mov esi, dword [ebx + 8]
mov dword [esp + 0x90], eax
lea ecx, [esp + 0x78]
mov edx, dword [esi + 4]
call fcn.100f1470
lea ecx, [esp + 0x78]
mov dword [esp + 0x94], eax
call fcn.100f1490
lea eax, [esi + 8]
mov esi, dword [ebx + 4]
mov dword [esp + 0x98], eax
lea ecx, [esp + 0x78]
mov edx, dword [esi + 4]
call fcn.100f1470
lea ecx, [esp + 0x78]
mov dword [esp + 0x9c], eax
call fcn.100f1490
lea eax, [esi + 8]
xor ebx, ebx
lea ecx, [esp + 0x78]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x30], ebx
call fcn.100f1490
cmp eax, 2
jg 0x100f2bd4
lea eax, [esp + 0xc8]
mov dword [esp + 0x28], eax
cmp ebx, dword [esp + 0x38]
jge 0x100f2be4
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x9c]
movzx eax, byte [esi + 2]
mov esi, dword [esi + 4]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xa0]
movzx ebp, byte [eax + ecx*8 + 2]
lea edx, [eax + ecx*8]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov edx, dword [edx + 4]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
mov bl, byte [eax + ecx*8 + 2]
mov esi, dword [eax + ecx*8 + 4]
mov byte [esp + 0x1f], bl
movzx ebx, bl
test ebx, ebx
jne 0x100f28f5
xor edi, edi
jmp 0x100f2983
cmp dword [esp + 0x124], 0
mov edi, dword [esp + 0x78]
je 0x100f295e
mov eax, dword [esp + 0x7c]
mov edx, 0x18
cmp ebx, edx
mov ecx, eax
cmovb edx, ebx
and ecx, 0x1f
shl edi, cl
sub ebx, edx
mov ecx, edx
add eax, edx
neg ecx
mov dword [esp + 0x7c], eax
and ecx, 0x1f
shr edi, cl
mov ecx, ebx
shl edi, cl
lea ecx, [esp + 0x78]
add edi, esi
call fcn.100f1490
mov edx, dword [esp + 0x7c]
test ebx, ebx
je 0x100f2987
mov eax, dword [esp + 0x78]
mov ecx, edx
and ecx, 0x1f
add edx, ebx
shl eax, cl
mov ecx, ebx
neg ecx
mov dword [esp + 0x7c], edx
and ecx, 0x1f
shr eax, cl
add edi, eax
jmp 0x100f2987
mov edx, dword [esp + 0x7c]
mov ecx, edx
and ecx, 0x1f
add edx, ebx
shl edi, cl
mov ecx, ebx
neg ecx
mov dword [esp + 0x7c], edx
and ecx, 0x1f
shr edi, cl
lea ecx, [esp + 0x78]
add edi, esi
call fcn.100f1490
mov edx, dword [esp + 0x7c]
cmp byte [esp + 0x1f], 1
mov esi, dword [esp + 0x14]
ja 0x100f29f9
xor eax, eax
test esi, esi
sete al
add edi, eax
je 0x100f29f0
mov esi, dword [esp + 0xa4]
cmp edi, 3
jne 0x100f29b7
lea eax, [esi - 1]
xor ecx, ecx
test eax, eax
sete cl
add ecx, eax
jmp 0x100f29cc
mov eax, dword [esp + edi*4 + 0xa4]
xor ecx, ecx
test eax, eax
sete cl
add ecx, eax
cmp edi, 1
je 0x100f29da
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], esi
mov edi, ecx
mov esi, dword [esp + 0x14]
mov dword [esp + 0xa4], ecx
jmp 0x100f2a1c
mov edi, dword [esp + 0xa4]
jmp 0x100f2a1c
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], edi
mov dword [esp + 0x60], edi
test ebp, ebp
je 0x100f2a40
mov eax, dword [esp + 0x78]
mov ecx, edx
and ecx, 0x1f
shl eax, cl
mov ecx, ebp
neg ecx
and ecx, 0x1f
shr eax, cl
add edx, ebp
mov dword [esp + 0x7c], edx
jmp 0x100f2a42
xor eax, eax
add eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x5c], eax
lea eax, [ebx + ebp]
cmp eax, 0x14
jb 0x100f2a63
lea ecx, [esp + 0x78]
call fcn.100f1490
mov edx, dword [esp + 0x7c]
test ebx, ebx
je 0x100f2a83
mov eax, dword [esp + 0x78]
mov ecx, edx
and ecx, 0x1f
shl eax, cl
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
add edx, ebx
mov dword [esp + 0x7c], edx
jmp 0x100f2a85
xor eax, eax
add esi, eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x58], esi
call fcn.100f1490
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb0]
add ecx, esi
cmp edi, ecx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov edx, ebp
cmova eax, dword [esp + 0xb4]
sub eax, edi
add eax, ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
add eax, ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x8c]
mov edi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, edi
shrd eax, ecx, 0x18
movzx esi, al
add ebx, esi
movzx eax, di
mov ecx, ebx
mov dword [esp + 0x7c], ebx
neg ecx
and ecx, 0x1f
shr edx, cl
and edx, dword [esi*4 + 0x10183fe0]
mov ecx, dword [esp + 0xa0]
add eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x9c]
mov edx, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, edx
shrd eax, ecx, 0x18
movzx eax, al
lea ecx, [eax + ebx]
mov dword [esp + 0x7c], ecx
neg ecx
and ecx, 0x1f
shr ebp, cl
lea ecx, [esp + 0x78]
and ebp, dword [eax*4 + 0x10183fe0]
movzx eax, dx
add ebp, eax
mov dword [esp + 0x9c], ebp
call fcn.100f1490
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x78]
movups xmm0, xmmword [esp + 0x58]
mov edi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, edi
mov ebx, dword [esp + 0x30]
shrd eax, ecx, 0x18
inc ebx
movzx esi, al
mov eax, dword [esp + 0x7c]
add eax, esi
mov dword [esp + 0x30], ebx
mov ecx, eax
mov dword [esp + 0x7c], eax
neg ecx
movzx eax, di
and ecx, 0x1f
shr edx, cl
lea ecx, [esp + 0x78]
and edx, dword [esi*4 + 0x10183fe0]
add eax, edx
movups xmmword [ebp], xmm0
add ebp, 0x10
mov dword [esp + 0x94], eax
mov dword [esp + 0x28], ebp
call fcn.100f1490
cmp eax, 2
jle 0x100f2886
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
cmp ebx, dword [esp + 0x38]
jge 0x100f2bec
mov eax, 0xffffffec
jmp 0x100f35ce
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0x78]
call fcn.100f1490
cmp eax, 2
jg 0x100f3267
nop
mov eax, dword [esp + 0x120]
cmp ebx, eax
jge 0x100f3276
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
lea esi, [eax + ecx*8]
mov ecx, dword [esp + 0x9c]
movzx eax, byte [esi + 2]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa0]
movzx ebx, byte [eax + ecx*8 + 2]
lea edx, [eax + ecx*8]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov edx, dword [edx + 4]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], edx
mov bl, byte [eax + ecx*8 + 2]
movzx edi, bl
mov byte [esp + 0x1f], bl
mov ebx, dword [esi + 4]
mov esi, dword [eax + ecx*8 + 4]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x18]
test edi, edi
jne 0x100f2c80
xor ebp, ebp
mov dword [esp + 0x14], ebp
jmp 0x100f2d1a
cmp dword [esp + 0x124], 0
mov ebp, dword [esp + 0x78]
je 0x100f2cf1
mov eax, dword [esp + 0x7c]
mov edx, 0x18
cmp edi, edx
mov ecx, eax
cmovb edx, edi
and ecx, 0x1f
shl ebp, cl
sub edi, edx
mov ecx, edx
add eax, edx
neg ecx
mov dword [esp + 0x7c], eax
and ecx, 0x1f
shr ebp, cl
mov ecx, edi
shl ebp, cl
lea ecx, [esp + 0x78]
add ebp, esi
mov dword [esp + 0x14], ebp
call fcn.100f1490
mov edx, dword [esp + 0x7c]
test edi, edi
je 0x100f2d1e
mov eax, dword [esp + 0x78]
mov ecx, edx
and ecx, 0x1f
add edx, edi
shl eax, cl
mov ecx, edi
neg ecx
mov dword [esp + 0x7c], edx
and ecx, 0x1f
shr eax, cl
add ebp, eax
mov dword [esp + 0x14], ebp
jmp 0x100f2d1e
mov edx, dword [esp + 0x7c]
mov ecx, edx
and ecx, 0x1f
add edx, edi
shl ebp, cl
mov ecx, edi
neg ecx
mov dword [esp + 0x7c], edx
and ecx, 0x1f
shr ebp, cl
lea ecx, [esp + 0x78]
add ebp, esi
mov dword [esp + 0x14], ebp
call fcn.100f1490
mov edx, dword [esp + 0x7c]
cmp byte [esp + 0x1f], 1
mov edi, dword [esp + 0x28]
ja 0x100f2d94
xor eax, eax
test edi, edi
sete al
add ebp, eax
je 0x100f2d87
mov esi, dword [esp + 0xa4]
cmp ebp, 3
jne 0x100f2d4e
lea eax, [esi - 1]
xor ecx, ecx
test eax, eax
sete cl
add ecx, eax
jmp 0x100f2d63
mov eax, dword [esp + ebp*4 + 0xa4]
xor ecx, ecx
test eax, eax
sete cl
add ecx, eax
cmp ebp, 1
je 0x100f2d71
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xac], eax
mov ebp, ecx
mov dword [esp + 0xa8], esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0xa4], ecx
jmp 0x100f2db7
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x14], ebp
jmp 0x100f2db7
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ebp
test ebx, ebx
je 0x100f2dd7
mov eax, dword [esp + 0x78]
mov ecx, edx
and ecx, 0x1f
shl eax, cl
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
add edx, ebx
mov dword [esp + 0x7c], edx
jmp 0x100f2dd9
xor eax, eax
add eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x18], eax
lea eax, [ebx + esi]
cmp eax, 0x14
jb 0x100f2dfa
lea ecx, [esp + 0x78]
call fcn.100f1490
mov edx, dword [esp + 0x7c]
test esi, esi
je 0x100f2e1a
mov eax, dword [esp + 0x78]
mov ecx, edx
and ecx, 0x1f
shl eax, cl
mov ecx, esi
neg ecx
and ecx, 0x1f
shr eax, cl
add edx, esi
mov dword [esp + 0x7c], edx
jmp 0x100f2e1c
xor eax, eax
lea ecx, [esp + 0x78]
mov dword [esp + 0x24], eax
lea ebx, [eax + edi]
call fcn.100f1490
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xb0]
add ecx, ebx
cmp ebp, ecx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov edx, ebp
cmova eax, dword [esp + 0xb4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
add eax, ecx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x8c]
mov edi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, edi
shrd eax, ecx, 0x18
movzx esi, al
add ebx, esi
movzx eax, di
mov ecx, ebx
mov dword [esp + 0x7c], ebx
neg ecx
and ecx, 0x1f
shr edx, cl
and edx, dword [esi*4 + 0x10183fe0]
mov ecx, dword [esp + 0xa0]
add eax, edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x9c]
mov edx, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, edx
shrd eax, ecx, 0x18
movzx eax, al
lea ecx, [eax + ebx]
mov dword [esp + 0x7c], ecx
neg ecx
and ecx, 0x1f
shr ebp, cl
lea ecx, [esp + 0x78]
and ebp, dword [eax*4 + 0x10183fe0]
movzx eax, dx
add ebp, eax
mov dword [esp + 0x9c], ebp
call fcn.100f1490
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x78]
mov edi, dword [ecx + eax*8]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, edi
shrd eax, ecx, 0x18
movzx esi, al
mov eax, dword [esp + 0x7c]
add eax, esi
mov ecx, eax
mov dword [esp + 0x7c], eax
neg ecx
movzx eax, di
and ecx, 0x1f
shr edx, cl
and edx, dword [esi*4 + 0x10183fe0]
mov ecx, dword [esp + 0x14]
add eax, edx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x24]
add eax, dword [esp + 0x28]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x40]
sub eax, ecx
mov dword [esp + 0x60], ecx
add eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
lea ecx, [esp + 0xc8]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x30]
and eax, 3
mov esi, dword [esp + 0xc4]
shl eax, 4
add eax, ecx
mov dword [esp + 0x14], eax
movups xmm1, xmmword [eax]
movaps xmm0, xmm1
movd edx, xmm1
psrldq xmm0, 4
movd ebx, xmm0
mov dword [esp + 0x2c], edx
movups xmmword [esp + 0x68], xmm1
lea edi, [edx + ebp]
psrldq xmm1, 0xc
lea eax, [ebx + edx]
add edx, esi
lea ecx, [eax + ebp]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff8
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], ecx
movd edx, xmm1
cmp ecx, dword [esp + 0x20]
ja 0x100f3336
mov ecx, dword [esp + 0x50]
cmp dword [esp + 0x18], ecx
ja 0x100f2bda
cmp edi, eax
jbe 0x100f3019
push dword [esp + 0x48]
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xc8]
push dword [esp + 0x48]
mov edi, dword [esp + 0x28]
mov edx, edi
push dword [esp + 0x44]
movups xmm0, xmmword [esi]
push ecx
push eax
sub esp, 0x10
mov ecx, ebp
mov eax, esp
movups xmmword [eax], xmm0
call fcn.100f1e10
add esp, 0x24
jmp 0x100f3235
mov ecx, dword [esp + 0x2c]
cmp ecx, 8
jbe 0x100f3052
mov eax, ebp
test cl, 8
jne 0x100f3040
mov eax, dword [esi]
mov ecx, dword [esi + 4]
add esi, 8
mov dword [ebp], eax
lea eax, [ebp + 8]
mov dword [ebp + 4], ecx
nop word [eax + eax]
movups xmm0, xmmword [esi]
lea esi, [esi + 0x10]
movups xmmword [eax], xmm0
add eax, 0x10
cmp eax, edi
jb 0x100f3040
jmp 0x100f305d
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc4], eax
mov eax, edi
sub eax, dword [esp + 0x3c]
cmp ecx, eax
jbe 0x100f30eb
mov eax, edi
sub eax, dword [esp + 0x44]
cmp ecx, eax
ja 0x100f2bda
mov ecx, dword [esp + 0x48]
lea eax, [edx + ebx]
cmp eax, ecx
ja 0x100f309f
push ebx
push edx
push edi
call fcn.10146160
add esp, 0xc
jmp 0x100f3229
mov esi, ecx
sub esi, edx
push esi
push edx
push edi
call fcn.10146160
mov ecx, dword [esp + 0x48]
add edi, esi
sub ebx, esi
add esp, 0xc
mov esi, dword [esp + 0x20]
mov edx, ecx
lea eax, [esi - 8]
cmp edi, eax
ja 0x100f30c8
cmp ebx, 3
jae 0x100f30e5
test ebx, ebx
je 0x100f3229
sub ecx, edi
mov al, byte [ecx + edi]
lea edi, [edi + 1]
mov byte [edi - 1], al
sub ebx, 1
jne 0x100f30d2
jmp 0x100f3229
mov ecx, dword [esp + 0x70]
jmp 0x100f30ef
mov esi, dword [esp + 0x20]
cmp ecx, 8
jae 0x100f3123
movzx eax, byte [edx]
mov byte [edi], al
movzx eax, byte [edx + 1]
mov byte [edi + 1], al
movzx eax, byte [edx + 2]
mov byte [edi + 2], al
movzx eax, byte [edx + 3]
add edx, dword [ecx*4 + 0x101d95e8]
mov byte [edi + 3], al
mov eax, dword [edx]
sub edx, dword [ecx*4 + str._b_b_b_a_b_t_n_v]
mov dword [edi + 4], eax
jmp 0x100f312d
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x24]
lea eax, [esi - 0xd]
mov dword [esp + 0x18], edx
add edi, 8
add edx, 8
cmp ecx, eax
jbe 0x100f31d5
lea ebx, [esi - 8]
cmp edi, ebx
jae 0x100f31c3
mov eax, ebx
mov ecx, edx
sub eax, edi
mov esi, edi
mov dword [esp + 0x2c], eax
cmp eax, 0x10
jl 0x100f3194
mov eax, edi
sub eax, edx
cmp eax, 0x10
jl 0x100f3194
test byte [esp + 0x2c], 8
jne 0x100f3182
mov ecx, dword [edx + 4]
lea esi, [edi + 8]
mov eax, dword [edx]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [edi], eax
add ecx, 0x10
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x10]
movups xmmword [esi], xmm0
add esi, 0x10
cmp esi, ebx
jb 0x100f3182
jmp 0x100f31b7
mov ebp, edx
sub ebp, edi
nop dword [eax + eax]
mov eax, dword [esi + ebp]
mov ecx, dword [esi + ebp + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
add esi, 8
cmp esi, ebx
jb 0x100f31a0
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov eax, ebx
sub eax, edi
mov edi, ebx
add edx, eax
cmp edi, ecx
jae 0x100f3229
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [edi], al
inc edi
cmp edi, ecx
jb 0x100f31c7
jmp 0x100f3229
add ebx, 0xfffffff8
lea esi, [ebx + edi]
cmp ebx, 0x10
jl 0x100f3214
mov eax, edi
sub eax, edx
cmp eax, 0x10
jl 0x100f3214
test bl, 8
jne 0x100f3202
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x18]
mov dword [edi], eax
mov dword [edi + 4], ecx
add edi, 8
add edx, 0x10
movups xmm0, xmmword [edx]
lea edx, [edx + 0x10]
movups xmmword [edi], xmm0
add edi, 0x10
cmp edi, esi
jb 0x100f3202
jmp 0x100f3229
sub edx, edi
mov eax, dword [edi + edx]
mov ecx, dword [edi + edx + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
add edi, 8
cmp edi, esi
jb 0x100f3216
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
cmp eax, 0xffffff88
ja 0x100f35ce
movups xmm0, xmmword [esp + 0x58]
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0x78]
add ebp, eax
inc ebx
movups xmmword [esi], xmm0
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
call fcn.100f1490
cmp eax, 2
jle 0x100f2c00
mov eax, dword [esp + 0x120]
cmp ebx, eax
jl 0x100f2bda
sub ebx, dword [esp + 0x38]
mov dword [esp + 0x30], ebx
cmp ebx, eax
jge 0x100f3576
lea ecx, [edi - 8]
mov dword [esp + 0x14], ecx
nop dword [eax]
mov edi, dword [esp + 0xc4]
lea edx, [esp + 0xc8]
mov eax, ebx
and eax, 3
shl eax, 4
add eax, edx
mov dword [esp + 0x2c], eax
movups xmm1, xmmword [eax]
movaps xmm0, xmm1
movd edx, xmm1
psrldq xmm0, 4
movd ebx, xmm0
mov dword [esp + 0x40], edx
movups xmmword [esp + 0x68], xmm1
lea esi, [edx + ebp]
psrldq xmm1, 0xc
lea eax, [ebx + edx]
add edx, edi
mov dword [esp + 0x38], eax
add eax, ebp
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], eax
movd edx, xmm1
cmp eax, dword [esp + 0x20]
ja 0x100f3336
mov eax, dword [esp + 0x50]
cmp dword [esp + 0x18], eax
ja 0x100f2bda
cmp esi, ecx
jbe 0x100f3340
push dword [esp + 0x48]
mov ecx, dword [esp + 0x30]
push dword [esp + 0x48]
mov edx, dword [esp + 0x28]
push dword [esp + 0x44]
movups xmm0, xmmword [ecx]
push eax
lea eax, [esp + 0xd4]
mov ecx, ebp
push eax
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.100f1e10
add esp, 0x24
jmp 0x100f354d
mov eax, 0xffffffba
jmp 0x100f35ce
mov ecx, dword [esp + 0x40]
cmp ecx, 8
jbe 0x100f3373
mov eax, ebp
test cl, 8
jne 0x100f3361
mov eax, dword [edi]
mov ecx, dword [edi + 4]
add edi, 8
mov dword [ebp], eax
lea eax, [ebp + 8]
mov dword [ebp + 4], ecx
movups xmm0, xmmword [edi]
lea edi, [edi + 0x10]
movups xmmword [eax], xmm0
add eax, 0x10
cmp eax, esi
jb 0x100f3361
jmp 0x100f337e
mov eax, dword [edi]
mov ecx, dword [edi + 4]
mov dword [ebp], eax
mov dword [ebp + 4], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc4], eax
mov eax, esi
sub eax, dword [esp + 0x3c]
cmp ecx, eax
jbe 0x100f340b
mov eax, esi
sub eax, dword [esp + 0x44]
cmp ecx, eax
ja 0x100f2bda
mov ecx, dword [esp + 0x48]
lea eax, [edx + ebx]
cmp eax, ecx
ja 0x100f33c0
push ebx
push edx
push esi
call fcn.10146160
add esp, 0xc
jmp 0x100f3549
mov edi, ecx
sub edi, edx
push edi
push edx
push esi
call fcn.10146160
mov ecx, dword [esp + 0x20]
add esi, edi
mov eax, dword [esp + 0x48]
add esp, 0xc
sub ebx, edi
mov edx, eax
cmp esi, ecx
ja 0x100f33e6
cmp ebx, 3
jae 0x100f3407
test ebx, ebx
je 0x100f33fe
sub edx, esi
nop dword [eax]
mov al, byte [edx + esi]
lea esi, [esi + 1]
mov byte [esi - 1], al
sub ebx, 1
jne 0x100f33f0
mov eax, dword [esp + 0x38]
jmp 0x100f3551
mov ecx, dword [esp + 0x70]
cmp ecx, 8
jae 0x100f343f
movzx eax, byte [edx]
mov byte [esi], al
movzx eax, byte [edx + 1]
mov byte [esi + 1], al
movzx eax, byte [edx + 2]
mov byte [esi + 2], al
movzx eax, byte [edx + 3]
add edx, dword [ecx*4 + 0x101d95e8]
mov byte [esi + 3], al
mov eax, dword [edx]
sub edx, dword [ecx*4 + str._b_b_b_a_b_t_n_v]
mov dword [esi + 4], eax
jmp 0x100f3449
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x20]
add esi, 8
mov ecx, dword [esp + 0x24]
add eax, 0xfffffff3
mov dword [esp + 0x18], edx
add edx, 8
cmp ecx, eax
jbe 0x100f34f5
mov ebx, dword [esp + 0x14]
cmp esi, ebx
jae 0x100f34e3
mov eax, ebx
mov ecx, edx
sub eax, esi
mov edi, esi
mov dword [esp + 0x2c], eax
cmp eax, 0x10
jl 0x100f34b9
mov eax, esi
sub eax, edx
cmp eax, 0x10
jl 0x100f34b9
test byte [esp + 0x2c], 8
jne 0x100f34a7
mov ecx, dword [edx + 4]
lea edi, [esi + 8]
mov eax, dword [edx]
mov dword [esi + 4], ecx
mov ecx, dword [esp + 0x18]
mov dword [esi], eax
add ecx, 0x10
movups xmm0, xmmword [ecx]
lea ecx, [ecx + 0x10]
movups xmmword [edi], xmm0
add edi, 0x10
cmp edi, ebx
jb 0x100f34a7
jmp 0x100f34d7
mov ebp, edx
sub ebp, esi
nop dword [eax]
mov eax, dword [edi + ebp]
mov ecx, dword [edi + ebp + 4]
mov dword [edi], eax
mov dword [edi + 4], ecx
add edi, 8
cmp edi, ebx
jb 0x100f34c0
mov ebp, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
mov eax, ebx
sub eax, esi
mov esi, ebx
add edx, eax
cmp esi, ecx
jae 0x100f3549
mov al, byte [edx]
lea edx, [edx + 1]
mov byte [esi], al
inc esi
cmp esi, ecx
jb 0x100f34e7
jmp 0x100f3549
add ebx, 0xfffffff8
lea edi, [ebx + esi]
cmp ebx, 0x10
jl 0x100f3534
mov eax, esi
sub eax, edx
cmp eax, 0x10
jl 0x100f3534
test bl, 8
jne 0x100f3522
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
add esi, 8
add edx, 0x10
movups xmm0, xmmword [edx]
lea edx, [edx + 0x10]
movups xmmword [esi], xmm0
add esi, 0x10
cmp esi, edi
jb 0x100f3522
jmp 0x100f3549
sub edx, esi
mov eax, dword [esi + edx]
mov ecx, dword [esi + edx + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
add esi, 8
cmp esi, edi
jb 0x100f3536
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
cmp eax, 0xffffff88
ja 0x100f35ce
mov ebx, dword [esp + 0x30]
add ebp, eax
inc ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebx
cmp ebx, dword [esp + 0x120]
jl 0x100f3290
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x20]
mov dword [esi + 0x682c], eax
mov eax, dword [esp + 0xa8]
mov dword [esi + 0x6830], eax
mov eax, dword [esp + 0xac]
mov dword [esi + 0x6834], eax
mov eax, dword [esp + 0xc4]
sub ebx, eax
sub edi, ebp
cmp ebx, edi
ja 0x100f3336
push ebx
push eax
push ebp
call fcn.10146160
add esp, 0xc
sub ebx, dword [esp + 0x54]
lea eax, [ebx + ebp]
mov ecx, dword [esp + 0x10c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10142783
add esp, 0x100
ret