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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x100
mov dword [esp + 0x24], ecx
mov esi, dword [ebp + 8]
mov eax, dword [0x10356534]
xor eax, ebp
mov dword [esp + 0xf8], eax
mov eax, dword [esi + 8]
bswap eax
mov dword [esp + 0x20], eax
push eax
call fcn.100a64d0
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [esi]
bswap eax
cmp eax, 0x57bc0000
jne 0x100c5595
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
bswap eax
test eax, eax
je 0x100c57ce
movss xmm0, dword [ebp + 0x10]
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x100c5636
movzx eax, byte [esi + 0xb]
mov byte [esp + 0x2e], al
movzx eax, word [esi + 9]
mov word [esp + 0x2c], ax
mov edx, dword [esi + 0xc]
movsd xmm1, qword [esi + 0x14]
movzx ecx, byte [esi + 0x1c]
movups xmm2, xmmword [esi + 0x28]
movups xmmword [esp + 0x6b], xmm2
movups xmm2, xmmword [esi + 0x1d]
movups xmmword [esp + 0x60], xmm2
movss xmm2, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
mov dword [esp], eax
movzx eax, byte [esi + 0x40]
mov edi, eax
movzx eax, byte [esi + 0x43]
mov byte [esp + 0x2a], al
movzx eax, word [esi + 0x41]
mov word [esp + 0x28], ax
movss xmm3, dword [esi + 0x48]
movsd xmm4, qword [esi + 0x6e]
mov eax, dword [esi + 0x44]
movzx ebx, word [esi + 0x4c]
mov word [esp + 8], bx
movsd qword [esp + 0x50], xmm4
movups xmm4, xmmword [esi + 0x5e]
movups xmmword [esp + 0x40], xmm4
movups xmm4, xmmword [esi + 0x4e]
movups xmmword [esp + 0x30], xmm4
movzx ebx, word [esi + 0x76]
mov word [esp + 0x10], bx
mov esi, dword [esi + 0x78]
mov dword [esp + 4], esi
jmp 0x100c5696
xorps xmm1, xmm1
movups xmmword [esp + 0x63], xmm1
mov dword [esp + 0x77], 0
mov dword [esp + 0x73], 0
movaps xmmword [esp + 0x30], xmm1
movaps xmmword [esp + 0x40], xmm1
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
movaps xmm1, xmmword [0x10154b80]
movss xmm2, dword [0x10155ff4]
mov dword [esp + 4], 0
movss xmm3, dword [0x10154df4]
mov word [esp + 8], 0xffff
xor eax, eax
xor edi, edi
xor ecx, ecx
xor edx, edx
mov byte [esp + 0x84], 1
movzx esi, word [esp + 0x2c]
mov word [esp + 0x85], si
movzx ebx, byte [esp + 0x2e]
mov byte [esp + 0x87], bl
mov dword [esp + 0x88], edx
movlps qword [esp + 0x90], xmm1
mov byte [esp + 0x98], cl
movups xmm1, xmmword [esp + 0x60]
movups xmm4, xmmword [esp + 0x6b]
movups xmmword [esp + 0x99], xmm1
movups xmmword [esp + 0xa4], xmm4
movss dword [esp + 0xb4], xmm2
mov ecx, dword [esp]
mov dword [esp + 0xb8], ecx
mov ecx, edi
mov byte [esp + 0xbc], cl
movzx ecx, word [esp + 0x28]
mov word [esp + 0xbd], cx
movzx ecx, byte [esp + 0x2a]
mov byte [esp + 0xbf], cl
mov dword [esp + 0xc0], eax
movss dword [esp + 0xc4], xmm3
movzx eax, word [esp + 8]
mov word [esp + 0xc8], ax
movaps xmm1, xmmword [esp + 0x30]
movaps xmm2, xmmword [esp + 0x40]
movups xmmword [esp + 0xca], xmm1
movups xmmword [esp + 0xda], xmm2
movsd xmm1, qword [esp + 0x50]
movsd qword [esp + 0xea], xmm1
movzx eax, word [esp + 0x10]
mov word [esp + 0xf2], ax
mov eax, dword [esp + 4]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x80], eax
movss dword [esp + 0x8c], xmm0
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x100c57a4
mov dword [esp + 0xac], eax
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x24]
push eax
call fcn.100c4d80
mov esi, eax
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.100f6c33
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x14
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
bswap eax
mov dword [0x1035bc50], edx
mov ecx, dword [esp + 0x18]
lea ebx, [ecx + eax]
mov dword [0x1035bc54], ebx
mov dword [0x1035bc58], ecx
add edx, 0x10
mov dword [0x1035bc5c], ecx
lea eax, [ecx + eax + 1]
mov dword [esp + 0x10], eax
mov eax, ecx
mov dword [esp + 8], ebx
jmp 0x100c5827
mov edi, eax
nop word [eax + eax]
mov dword [0x1035bc5c], edi
add edx, 4
mov eax, edi
mov ebx, dword [esp + 8]
cmp eax, ebx
ja 0x100c5595
movzx ecx, byte [edx]
cmp ecx, 0x20
jb 0x100c59b0
test cl, cl
js 0x100c5bab
cmp cl, 0x40
jb 0x100c5d27
movzx esi, byte [edx + 2]
mov dword [esp], esi
lea edi, [eax + esi]
inc edi
cmp edi, ebx
ja 0x100c6495
shl ecx, 8
movzx esi, byte [edx + 1]
or esi, ecx
mov ecx, eax
sub ecx, esi
add ecx, 0x3fff
mov edi, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jb 0x100c6495
mov edi, dword [esp]
mov ebx, edi
mov byte [esp + 0xc], bl
inc edi
cmp byte [esp + 0xc], 0x1f
jb 0x100c63f9
add esi, 0xffffc001
cmp esi, 0x20
jb 0x100c63f9
mov esi, edi
and esi, 0xffffffe0
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
cmp esi, 0x20
mov ebx, dword [esp + 8]
je 0x100c5992
movups xmm0, xmmword [ecx + 0x20]
movups xmm1, xmmword [ecx + 0x30]
movups xmmword [eax + 0x20], xmm0
movups xmmword [eax + 0x30], xmm1
cmp esi, 0x40
je 0x100c5992
movups xmm0, xmmword [ecx + 0x40]
movups xmm1, xmmword [ecx + 0x50]
movups xmmword [eax + 0x40], xmm0
movups xmmword [eax + 0x50], xmm1
cmp esi, 0x60
je 0x100c5992
movups xmm0, xmmword [ecx + 0x60]
movups xmm1, xmmword [ecx + 0x70]
movups xmmword [eax + 0x60], xmm0
movups xmmword [eax + 0x70], xmm1
cmp esi, 0x80
je 0x100c5992
movups xmm0, xmmword [ecx + 0x80]
movups xmm1, xmmword [ecx + 0x90]
movups xmmword [eax + 0x80], xmm0
movups xmmword [eax + 0x90], xmm1
cmp esi, 0xa0
je 0x100c5992
movups xmm0, xmmword [ecx + 0xa0]
movups xmm1, xmmword [ecx + 0xb0]
movups xmmword [eax + 0xa0], xmm0
movups xmmword [eax + 0xb0], xmm1
cmp esi, 0xc0
je 0x100c5992
movups xmm0, xmmword [ecx + 0xc0]
movups xmm1, xmmword [ecx + 0xd0]
movups xmmword [eax + 0xc0], xmm0
movups xmmword [eax + 0xd0], xmm1
cmp esi, 0xe0
je 0x100c5992
movups xmm0, xmmword [ecx + 0xe0]
movups xmm1, xmmword [ecx + 0xf0]
movups xmmword [eax + 0xe0], xmm0
movups xmmword [eax + 0xf0], xmm1
add eax, esi
cmp edi, esi
jne 0x100c63f4
mov edi, eax
jmp 0x100c6495
cmp cl, 0x18
jb 0x100c5a10
movzx esi, byte [edx + 3]
mov dword [esp], esi
lea edi, [eax + esi]
inc edi
cmp edi, ebx
ja 0x100c5810
shl ecx, 0x10
movzx edi, byte [edx + 1]
shl edi, 8
movzx esi, byte [edx + 2]
or esi, ecx
or esi, edi
mov ecx, eax
sub ecx, esi
add ecx, 0x17ffff
mov edi, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jb 0x100c5810
mov edi, edx
mov ebx, dword [esp]
mov edx, ebx
mov byte [esp + 0xc], bl
inc ebx
cmp byte [esp + 0xc], 0x1f
jae 0x100c5e39
mov edx, edi
jmp 0x100c5f4b
cmp cl, 0x10
jb 0x100c5d4a
mov esi, edx
movzx edx, word [edx + 3]
rol dx, 8
movzx edx, dx
mov edi, ebx
lea ebx, [eax + edx]
inc ebx
cmp ebx, edi
ja 0x100c6335
shl ecx, 0x10
movzx edi, byte [esi + 1]
shl edi, 8
movzx ebx, byte [esi + 2]
or ebx, ecx
or ebx, edi
mov edi, eax
mov dword [esp + 0xc], ebx
sub edi, ebx
lea ecx, [edi + 0xfffff]
mov ebx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jb 0x100c6335
mov dword [esp + 4], esi
lea esi, [edx + 1]
cmp edx, 0x1f
jb 0x100c5b71
mov edx, dword [esp + 0xc]
add edx, 0xfff00001
cmp edx, 0x20
jb 0x100c5b71
mov dword [esp + 0x14], esi
and esi, 0xffffffe0
mov dword [esp + 0x1c], esi
lea edx, [esi - 0x20]
mov dword [esp], edx
shr edx, 5
inc edx
mov esi, edx
and esi, 3
xor ebx, ebx
cmp dword [esp], 0x60
jb 0x100c5b16
and edx, 0xfffffffc
add edi, 0x10006f
xor ebx, ebx
nop word cs:[eax + eax]
movups xmm0, xmmword [edi + ebx - 0x70]
movups xmm1, xmmword [edi + ebx - 0x60]
movups xmmword [eax + ebx], xmm0
movups xmmword [eax + ebx + 0x10], xmm1
movups xmm0, xmmword [edi + ebx - 0x50]
movups xmm1, xmmword [edi + ebx - 0x40]
movups xmmword [eax + ebx + 0x20], xmm0
movups xmmword [eax + ebx + 0x30], xmm1
movups xmm0, xmmword [edi + ebx - 0x30]
movups xmm1, xmmword [edi + ebx - 0x20]
movups xmmword [eax + ebx + 0x40], xmm0
movups xmmword [eax + ebx + 0x50], xmm1
movups xmm0, xmmword [edi + ebx - 0x10]
movups xmm1, xmmword [edi + ebx]
movups xmmword [eax + ebx + 0x60], xmm0
movups xmmword [eax + ebx + 0x70], xmm1
sub ebx, 0xffffff80
add edx, 0xfffffffc
jne 0x100c5ac0
test esi, esi
mov dword [esp], esi
je 0x100c5b5a
lea edx, [eax + ebx]
add edx, 0x10
sub ebx, dword [esp + 0xc]
lea esi, [eax + ebx]
add esi, 0x10000f
shl dword [esp], 5
xor edi, edi
nop word cs:[eax + eax]
movups xmm0, xmmword [esi + edi - 0x10]
movups xmm1, xmmword [esi + edi]
movups xmmword [edx + edi - 0x10], xmm0
movups xmmword [edx + edi], xmm1
add edi, 0x20
cmp dword [esp], edi
jne 0x100c5b40
mov edx, dword [esp + 0x1c]
add eax, edx
mov esi, dword [esp + 0x14]
cmp esi, edx
je 0x100c632f
add ecx, edx
and esi, 0x1f
lea edx, [esi - 1]
mov dword [esp + 0x14], esi
mov edi, esi
and edi, 7
je 0x100c62ca
xor esi, esi
nop word cs:[eax + eax]
movzx ebx, byte [ecx + esi]
mov byte [eax + esi], bl
inc esi
cmp edi, esi
jne 0x100c5b90
add ecx, esi
sub dword [esp + 0x14], esi
add eax, esi
mov ebx, eax
jmp 0x100c62ca
mov dword [esp + 4], edx
lea edi, [eax + ecx]
add edi, 0xffffff81
cmp edi, ebx
ja 0x100c63b5
mov edx, dword [esp + 4]
movzx edx, byte [edx + 1]
mov dword [esp + 0xc], edx
not edx
add edx, eax
mov edi, dword [esp + 0x10]
cmp edx, dword [esp + 0x18]
jb 0x100c63b5
add ecx, 0xffffff81
je 0x100c63bd
cmp ecx, 0x20
jb 0x100c5ce1
cmp byte [esp + 0xc], 0x1f
jb 0x100c5ce1
mov esi, ecx
and esi, 0xffffffe0
mov dword [esp + 0x14], esi
add esi, 0xffffffe0
mov edi, esi
shr edi, 5
inc edi
mov ebx, edi
and ebx, 3
mov dword [esp], ebx
xor ebx, ebx
cmp esi, 0x60
jb 0x100c5c86
mov esi, dword [esp + 0xc]
neg esi
and edi, 0xfffffffc
add esi, eax
add esi, 0x6f
xor ebx, ebx
nop dword [eax]
movups xmm0, xmmword [esi + ebx - 0x70]
movups xmm1, xmmword [esi + ebx - 0x60]
movups xmmword [eax + ebx], xmm0
movups xmmword [eax + ebx + 0x10], xmm1
movups xmm0, xmmword [esi + ebx - 0x50]
movups xmm1, xmmword [esi + ebx - 0x40]
movups xmmword [eax + ebx + 0x20], xmm0
movups xmmword [eax + ebx + 0x30], xmm1
movups xmm0, xmmword [esi + ebx - 0x30]
movups xmm1, xmmword [esi + ebx - 0x20]
movups xmmword [eax + ebx + 0x40], xmm0
movups xmmword [eax + ebx + 0x50], xmm1
movups xmm0, xmmword [esi + ebx - 0x10]
movups xmm1, xmmword [esi + ebx]
movups xmmword [eax + ebx + 0x60], xmm0
movups xmmword [eax + ebx + 0x70], xmm1
sub ebx, 0xffffff80
add edi, 0xfffffffc
jne 0x100c5c30
cmp dword [esp], 0
je 0x100c5cca
lea esi, [eax + ebx]
add esi, 0x10
sub ebx, dword [esp + 0xc]
lea edi, [eax + ebx]
add edi, 0xf
shl dword [esp], 5
xor ebx, ebx
nop word cs:[eax + eax]
movups xmm0, xmmword [edi + ebx - 0x10]
movups xmm1, xmmword [edi + ebx]
movups xmmword [esi + ebx - 0x10], xmm0
movups xmmword [esi + ebx], xmm1
add ebx, 0x20
cmp dword [esp], ebx
jne 0x100c5cb0
mov esi, dword [esp + 0x14]
add eax, esi
cmp ecx, esi
je 0x100c63af
add edx, esi
and ecx, 0x1f
mov ebx, dword [esp + 8]
lea esi, [ecx - 1]
mov dword [esp], esi
mov esi, ecx
and esi, 7
je 0x100c634b
xor edi, edi
nop word cs:[eax + eax]
movzx ebx, byte [edx + edi]
mov byte [eax + edi], bl
inc edi
cmp esi, edi
jne 0x100c5d00
add edx, edi
sub ecx, edi
add eax, edi
mov edi, eax
mov ebx, dword [esp + 8]
cmp dword [esp], 7
jae 0x100c6351
jmp 0x100c63b5
lea esi, [eax + ecx]
add esi, 0xffffffe1
cmp esi, ebx
ja 0x100c5e1f
mov edi, edx
inc edx
cmp edx, dword [ebp + 8]
jae 0x100c5e0c
mov esi, dword [esp + 0x10]
jmp 0x100c5e1d
cmp cl, 8
jb 0x100c5dc3
shl ecx, 8
movzx edi, byte [edx + 1]
mov esi, edx
mov dword [esp], edi
lea edx, [ecx + edi]
mov edi, ebx
lea ebx, [eax + edx]
add ebx, 0xfffff801
cmp ebx, edi
mov dword [esp + 4], esi
ja 0x100c5da9
mov dword [esp + 0xc], ebx
add esi, 2
mov ebx, dword [esp + 0x10]
cmp esi, dword [ebp + 8]
jb 0x100c5da9
mov edx, dword [esp]
add ecx, edx
add ecx, 0xfffff801
push ecx
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
movzx eax, word [eax]
rol ax, 8
movzx edx, ax
mov ebx, dword [esp + 0xc]
mov dword [0x1035bc5c], ebx
add edx, 0xfffff803
mov ecx, edx
mov eax, ebx
mov ebx, dword [esp + 8]
mov edx, dword [esp + 4]
jmp 0x100c5e2a
cmp cl, 4
je 0x100c60e9
cmp ecx, 6
je 0x100c5f87
cmp ecx, 7
jne 0x100c5595
movzx ecx, word [edx + 1]
rol cx, 8
movzx ecx, cx
lea esi, [eax + ecx]
inc esi
cmp esi, ebx
ja 0x100c63e2
mov edi, edx
add edx, 3
cmp edx, dword [ebp + 8]
jae 0x100c63c9
mov esi, dword [esp + 0x10]
jmp 0x100c63e0
add ecx, 0xffffffe1
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx ecx, byte [edi]
mov edx, edi
mov dword [0x1035bc5c], esi
add ecx, 0xffffffe2
mov eax, esi
test ecx, ecx
je 0x100c5595
add edx, ecx
jmp 0x100c581f
add esi, 0xffe80001
cmp esi, 0x20
mov edx, edi
jb 0x100c5f4b
mov esi, ebx
and esi, 0xffffffe0
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
cmp esi, 0x20
je 0x100c5f3c
movups xmm0, xmmword [ecx + 0x20]
movups xmm1, xmmword [ecx + 0x30]
movups xmmword [eax + 0x20], xmm0
movups xmmword [eax + 0x30], xmm1
cmp esi, 0x40
je 0x100c5f3c
movups xmm0, xmmword [ecx + 0x40]
movups xmm1, xmmword [ecx + 0x50]
movups xmmword [eax + 0x40], xmm0
movups xmmword [eax + 0x50], xmm1
cmp esi, 0x60
je 0x100c5f3c
movups xmm0, xmmword [ecx + 0x60]
movups xmm1, xmmword [ecx + 0x70]
movups xmmword [eax + 0x60], xmm0
movups xmmword [eax + 0x70], xmm1
cmp esi, 0x80
je 0x100c5f3c
movups xmm0, xmmword [ecx + 0x80]
movups xmm1, xmmword [ecx + 0x90]
movups xmmword [eax + 0x80], xmm0
movups xmmword [eax + 0x90], xmm1
cmp esi, 0xa0
je 0x100c5f3c
movups xmm0, xmmword [ecx + 0xa0]
movups xmm1, xmmword [ecx + 0xb0]
movups xmmword [eax + 0xa0], xmm0
movups xmmword [eax + 0xb0], xmm1
cmp esi, 0xc0
je 0x100c5f3c
movups xmm0, xmmword [ecx + 0xc0]
movups xmm1, xmmword [ecx + 0xd0]
movups xmmword [eax + 0xc0], xmm0
movups xmmword [eax + 0xd0], xmm1
cmp esi, 0xe0
je 0x100c5f3c
movups xmm0, xmmword [ecx + 0xe0]
movups xmm1, xmmword [ecx + 0xf0]
movups xmmword [eax + 0xe0], xmm0
movups xmmword [eax + 0xf0], xmm1
add eax, esi
cmp ebx, esi
je 0x100c5808
add ecx, esi
and ebx, 0x1f
lea esi, [ebx - 1]
mov dword [esp], ebx
and ebx, 7
mov dword [esp + 4], edx
je 0x100c625e
xor edi, edi
movzx edx, byte [ecx + edi]
mov byte [eax + edi], dl
inc edi
cmp ebx, edi
jne 0x100c5f60
add ecx, edi
sub dword [esp], edi
add eax, edi
mov edi, eax
mov edx, dword [esp + 4]
cmp esi, 7
jb 0x100c5810
jmp 0x100c6267
movzx ecx, byte [edx + 4]
mov dword [esp], ecx
lea edi, [eax + ecx]
inc edi
cmp edi, ebx
mov ecx, edx
ja 0x100c65c5
movzx edx, byte [ecx + 1]
shl edx, 0x10
movzx edi, byte [ecx + 2]
shl edi, 8
movzx esi, byte [ecx + 3]
or esi, edx
or esi, edi
mov edx, esi
not edx
add edx, eax
mov edi, dword [esp + 0x10]
cmp edx, dword [esp + 0x18]
jb 0x100c65c5
mov dword [esp + 4], ecx
mov ecx, dword [esp]
mov ebx, ecx
inc ecx
cmp bl, 0x1f
jb 0x100c6530
cmp esi, 0x1f
jb 0x100c6530
mov esi, ecx
and esi, 0xffffffe0
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm1
cmp esi, 0x20
je 0x100c60d4
movups xmm0, xmmword [edx + 0x20]
movups xmm1, xmmword [edx + 0x30]
movups xmmword [eax + 0x20], xmm0
movups xmmword [eax + 0x30], xmm1
cmp esi, 0x40
je 0x100c60d4
movups xmm0, xmmword [edx + 0x40]
movups xmm1, xmmword [edx + 0x50]
movups xmmword [eax + 0x40], xmm0
movups xmmword [eax + 0x50], xmm1
cmp esi, 0x60
je 0x100c60d4
movups xmm0, xmmword [edx + 0x60]
movups xmm1, xmmword [edx + 0x70]
movups xmmword [eax + 0x60], xmm0
movups xmmword [eax + 0x70], xmm1
cmp esi, 0x80
je 0x100c60d4
movups xmm0, xmmword [edx + 0x80]
movups xmm1, xmmword [edx + 0x90]
movups xmmword [eax + 0x80], xmm0
movups xmmword [eax + 0x90], xmm1
cmp esi, 0xa0
je 0x100c60d4
movups xmm0, xmmword [edx + 0xa0]
movups xmm1, xmmword [edx + 0xb0]
movups xmmword [eax + 0xa0], xmm0
movups xmmword [eax + 0xb0], xmm1
cmp esi, 0xc0
je 0x100c60d4
movups xmm0, xmmword [edx + 0xc0]
movups xmm1, xmmword [edx + 0xd0]
movups xmmword [eax + 0xc0], xmm0
movups xmmword [eax + 0xd0], xmm1
cmp esi, 0xe0
je 0x100c60d4
movups xmm0, xmmword [edx + 0xe0]
movups xmm1, xmmword [edx + 0xf0]
movups xmmword [eax + 0xe0], xmm0
movups xmmword [eax + 0xf0], xmm1
add eax, esi
cmp ecx, esi
jne 0x100c652b
mov edi, eax
mov ebx, dword [esp + 8]
jmp 0x100c65c1
movzx ecx, word [edx + 4]
rol cx, 8
mov edi, edx
movzx ecx, cx
lea esi, [eax + ecx]
inc esi
cmp esi, ebx
ja 0x100c6519
mov dword [esp], ecx
movzx edx, byte [edi + 1]
shl edx, 0x10
movzx esi, byte [edi + 2]
shl esi, 8
movzx ecx, byte [edi + 3]
or ecx, edx
mov edx, dword [esp]
or ecx, esi
mov dword [esp + 0xc], ecx
not ecx
add ecx, eax
mov esi, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jb 0x100c6519
mov dword [esp + 4], edi
lea edi, [edx + 1]
cmp edx, 0x1f
jb 0x100c6223
cmp dword [esp + 0xc], 0x1f
jb 0x100c6223
mov dword [esp], edi
and edi, 0xffffffe0
mov dword [esp + 0x14], edi
lea edx, [edi - 0x20]
mov edi, edx
shr edi, 5
inc edi
mov esi, edi
and esi, 3
xor ebx, ebx
cmp edx, 0x60
jb 0x100c61d6
and edi, 0xfffffffc
mov edx, eax
sub edx, dword [esp + 0xc]
add edx, 0x6f
xor ebx, ebx
nop dword [eax]
movups xmm0, xmmword [edx + ebx - 0x70]
movups xmm1, xmmword [edx + ebx - 0x60]
movups xmmword [eax + ebx], xmm0
movups xmmword [eax + ebx + 0x10], xmm1
movups xmm0, xmmword [edx + ebx - 0x50]
movups xmm1, xmmword [edx + ebx - 0x40]
movups xmmword [eax + ebx + 0x20], xmm0
movups xmmword [eax + ebx + 0x30], xmm1
movups xmm0, xmmword [edx + ebx - 0x30]
movups xmm1, xmmword [edx + ebx - 0x20]
movups xmmword [eax + ebx + 0x40], xmm0
movups xmmword [eax + ebx + 0x50], xmm1
movups xmm0, xmmword [edx + ebx - 0x10]
movups xmm1, xmmword [edx + ebx]
movups xmmword [eax + ebx + 0x60], xmm0
movups xmmword [eax + ebx + 0x70], xmm1
sub ebx, 0xffffff80
add edi, 0xfffffffc
jne 0x100c6180
test esi, esi
je 0x100c6209
lea edx, [eax + ebx]
add edx, 0x10
sub ebx, dword [esp + 0xc]
lea edi, [eax + ebx]
add edi, 0xf
shl esi, 5
xor ebx, ebx
nop
movups xmm0, xmmword [edi + ebx - 0x10]
movups xmm1, xmmword [edi + ebx]
movups xmmword [edx + ebx - 0x10], xmm0
movups xmmword [edx + ebx], xmm1
add ebx, 0x20
cmp esi, ebx
jne 0x100c61f0
mov edx, dword [esp + 0x14]
add eax, edx
mov edi, dword [esp]
cmp edi, edx
je 0x100c650f
add ecx, edx
and edi, 0x1f
mov ebx, dword [esp + 8]
lea edx, [edi - 1]
mov dword [esp], edi
and edi, 7
je 0x100c64a5
xor esi, esi
nop word cs:[eax + eax]
movzx ebx, byte [ecx + esi]
mov byte [eax + esi], bl
inc esi
cmp edi, esi
jne 0x100c6240
add ecx, esi
sub dword [esp], esi
add eax, esi
mov esi, eax
mov ebx, dword [esp + 8]
jmp 0x100c64a5
cmp esi, 7
jb 0x100c5810
xor esi, esi
mov edi, dword [esp]
nop dword [eax]
movzx edx, byte [ecx + esi]
mov byte [eax + esi], dl
movzx edx, byte [ecx + esi + 1]
mov byte [eax + esi + 1], dl
movzx edx, byte [ecx + esi + 2]
mov byte [eax + esi + 2], dl
movzx edx, byte [ecx + esi + 3]
mov byte [eax + esi + 3], dl
movzx edx, byte [ecx + esi + 4]
mov byte [eax + esi + 4], dl
movzx edx, byte [ecx + esi + 5]
mov byte [eax + esi + 5], dl
movzx edx, byte [ecx + esi + 6]
mov byte [eax + esi + 6], dl
movzx edx, byte [ecx + esi + 7]
mov byte [eax + esi + 7], dl
add esi, 8
cmp edi, esi
jne 0x100c6270
add eax, esi
mov edi, eax
mov edx, dword [esp + 4]
jmp 0x100c5810
cmp edx, 7
mov esi, dword [esp + 4]
jb 0x100c6335
xor edx, edx
mov esi, dword [esp + 0x14]
nop dword [eax]
movzx ebx, byte [ecx + edx]
mov byte [eax + edx], bl
movzx ebx, byte [ecx + edx + 1]
mov byte [eax + edx + 1], bl
movzx ebx, byte [ecx + edx + 2]
mov byte [eax + edx + 2], bl
movzx ebx, byte [ecx + edx + 3]
mov byte [eax + edx + 3], bl
movzx ebx, byte [ecx + edx + 4]
mov byte [eax + edx + 4], bl
movzx ebx, byte [ecx + edx + 5]
mov byte [eax + edx + 5], bl
movzx ebx, byte [ecx + edx + 6]
mov byte [eax + edx + 6], bl
movzx ebx, byte [ecx + edx + 7]
mov byte [eax + edx + 7], bl
add edx, 8
cmp esi, edx
jne 0x100c62e0
add eax, edx
mov ebx, eax
mov esi, dword [esp + 4]
mov dword [0x1035bc5c], ebx
add esi, 5
mov eax, ebx
mov ebx, dword [esp + 8]
mov edx, esi
jmp 0x100c581f
cmp dword [esp], 7
jb 0x100c63b5
xor esi, esi
nop word cs:[eax + eax]
movzx ebx, byte [edx + esi]
mov byte [eax + esi], bl
movzx ebx, byte [edx + esi + 1]
mov byte [eax + esi + 1], bl
movzx ebx, byte [edx + esi + 2]
mov byte [eax + esi + 2], bl
movzx ebx, byte [edx + esi + 3]
mov byte [eax + esi + 3], bl
movzx ebx, byte [edx + esi + 4]
mov byte [eax + esi + 4], bl
movzx ebx, byte [edx + esi + 5]
mov byte [eax + esi + 5], bl
movzx ebx, byte [edx + esi + 6]
mov byte [eax + esi + 6], bl
movzx ebx, byte [edx + esi + 7]
mov byte [eax + esi + 7], bl
add esi, 8
cmp ecx, esi
jne 0x100c6360
add eax, esi
mov edi, eax
mov ebx, dword [esp + 8]
mov dword [0x1035bc5c], edi
mov eax, edi
mov edx, dword [esp + 4]
add edx, 2
jmp 0x100c581f
inc ecx
push ecx
push edx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, word [edi + 1]
rol ax, 8
movzx ecx, ax
mov edx, edi
mov dword [0x1035bc5c], esi
add edx, ecx
add edx, 4
mov eax, esi
jmp 0x100c581f
add ecx, esi
and edi, 0x1f
mov ebx, edi
lea esi, [edi - 1]
mov dword [esp], edi
and ebx, 7
mov dword [esp + 4], edx
je 0x100c642b
xor edi, edi
nop dword [eax]
movzx edx, byte [ecx + edi]
mov byte [eax + edi], dl
inc edi
cmp ebx, edi
jne 0x100c6410
add ecx, edi
sub dword [esp], edi
add eax, edi
mov edi, eax
mov edx, dword [esp + 4]
jmp 0x100c642b
cmp esi, 7
mov ebx, dword [esp + 8]
jb 0x100c6495
xor esi, esi
mov edi, dword [esp]
nop dword [eax]
movzx edx, byte [ecx + esi]
mov byte [eax + esi], dl
movzx edx, byte [ecx + esi + 1]
mov byte [eax + esi + 1], dl
movzx edx, byte [ecx + esi + 2]
mov byte [eax + esi + 2], dl
movzx edx, byte [ecx + esi + 3]
mov byte [eax + esi + 3], dl
movzx edx, byte [ecx + esi + 4]
mov byte [eax + esi + 4], dl
movzx edx, byte [ecx + esi + 5]
mov byte [eax + esi + 5], dl
movzx edx, byte [ecx + esi + 6]
mov byte [eax + esi + 6], dl
movzx edx, byte [ecx + esi + 7]
mov byte [eax + esi + 7], dl
add esi, 8
cmp edi, esi
jne 0x100c6440
add eax, esi
mov edi, eax
mov edx, dword [esp + 4]
mov dword [0x1035bc5c], edi
add edx, 3
mov eax, edi
jmp 0x100c581f
cmp edx, 7
mov edi, dword [esp + 4]
jb 0x100c6519
xor edx, edx
mov esi, dword [esp]
nop word cs:[eax + eax]
movzx ebx, byte [ecx + edx]
mov byte [eax + edx], bl
movzx ebx, byte [ecx + edx + 1]
mov byte [eax + edx + 1], bl
movzx ebx, byte [ecx + edx + 2]
mov byte [eax + edx + 2], bl
movzx ebx, byte [ecx + edx + 3]
mov byte [eax + edx + 3], bl
movzx ebx, byte [ecx + edx + 4]
mov byte [eax + edx + 4], bl
movzx ebx, byte [ecx + edx + 5]
mov byte [eax + edx + 5], bl
movzx ebx, byte [ecx + edx + 6]
mov byte [eax + edx + 6], bl
movzx ebx, byte [ecx + edx + 7]
mov byte [eax + edx + 7], bl
add edx, 8
cmp esi, edx
jne 0x100c64c0
add eax, edx
mov esi, eax
mov ebx, dword [esp + 8]
mov edi, dword [esp + 4]
mov dword [0x1035bc5c], esi
add edi, 6
mov eax, esi
mov edx, edi
jmp 0x100c581f
add edx, esi
and ecx, 0x1f
lea esi, [ecx - 1]
mov ebx, ecx
and ebx, 7
mov dword [esp], ecx
je 0x100c6557
xor edi, edi
nop
movzx ecx, byte [edx + edi]
mov byte [eax + edi], cl
inc edi
cmp ebx, edi
jne 0x100c6540
add edx, edi
sub dword [esp], edi
add eax, edi
mov edi, eax
jmp 0x100c6557
cmp esi, 7
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 4]
jb 0x100c65c5
xor esi, esi
mov edi, dword [esp]
nop dword [eax]
movzx ecx, byte [edx + esi]
mov byte [eax + esi], cl
movzx ecx, byte [edx + esi + 1]
mov byte [eax + esi + 1], cl
movzx ecx, byte [edx + esi + 2]
mov byte [eax + esi + 2], cl
movzx ecx, byte [edx + esi + 3]
mov byte [eax + esi + 3], cl
movzx ecx, byte [edx + esi + 4]
mov byte [eax + esi + 4], cl
movzx ecx, byte [edx + esi + 5]
mov byte [eax + esi + 5], cl
movzx ecx, byte [edx + esi + 6]
mov byte [eax + esi + 6], cl
movzx ecx, byte [edx + esi + 7]
mov byte [eax + esi + 7], cl
add esi, 8
cmp edi, esi
jne 0x100c6570
add eax, esi
mov edi, eax
mov ecx, dword [esp + 4]
mov dword [0x1035bc5c], edi
add ecx, 5
mov eax, edi
mov edx, ecx
jmp 0x100c581f