Function at 0x10056f20
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x54
mov eax, dword [0x100b8180]
xor eax, ebp
mov dword [ebp - 4], eax
movaps xmm0, xmmword [0x100b12e0]
mov ecx, 0x10
movups xmm2, xmmword [0x100b0820]
push esi
movaps xmm1, xmmword [0x100b0720]
movd eax, xmm0
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0x5d49784b
mov dword [ebp - 0xc], 0x1005b56
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x1c]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x20], xmm1
movaps xmm1, xmmword [0x100b0740]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x18]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x1c], xmm1
movaps xmm1, xmmword [0x100b0760]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x14]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x18], xmm1
movaps xmm1, xmmword [0x100b0780]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm2
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x14], xmm1
nop dword [eax]
mov al, cl
add al, 0x29
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0x16
jb 0x10057020
mov edx, 0x100d9651
mov byte [ebp - 9], 0
lea ecx, [ebp - 0x20]
call fcn.10033e60
movss xmm1, dword [0x100b05e8]
xorps xmm0, xmm0
call fcn.1001c850
movss xmm0, dword [0x100b05ac]
call fcn.1001b740
movaps xmm0, xmmword [0x100b14c0]
lea ecx, [ebp - 0x30]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x10], 0x40b3e2c
movaps xmm0, xmmword [0x100b0a20]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0xc], 0x11331
mov word [ebp - 8], 2
mov byte [ebp - 6], 1
call fcn.1000b2b0
sub esp, 8
mov dword [ebp - 0x40], 0x3c23d70a
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x41200000
mov dword [esp + 4], 0x3f800000
push ecx
lea ecx, [ebp - 0x40]
push ecx
push 0x100d9654
mov ecx, eax
call fcn.10035850
add esp, 0x14
call fcn.1001b930
movss xmm1, dword [0x100b05e8]
xorps xmm0, xmm0
call fcn.1001c850
movss xmm0, dword [0x100b059c]
call fcn.1001b740
movaps xmm0, xmmword [0x100b0a60]
movups xmm2, xmmword [0x100b0820]
mov dword [ebp - 0x10], 0x30220d3c
movaps xmm1, xmmword [0x100b07a0]
movd eax, xmm0
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0xc], 0x301f3639
mov word [ebp - 8], 0x2f
mov byte [ebp - 6], 1
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x1c]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x20], xmm1
movaps xmm1, xmmword [0x100b07b0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x18]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x1c], xmm1
movaps xmm1, xmmword [0x100b07c0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x14]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
punpcklwd xmm0, xmm0
movd dword [ebp - 0x18], xmm1
movaps xmm1, xmmword [0x100b07d0]
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm2
mov ecx, 0x10
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x14], xmm1
mov al, cl
add al, 0x3e
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0x19
jb 0x100571c6
sub esp, 8
mov byte [ebp - 6], 0
mov edx, 0x100d9658
push 0x100b8f78
push ecx
lea ecx, [ebp - 0x20]
call fcn.10034a80
add esp, 0x10
call fcn.1001b930
movaps xmm0, xmmword [0x100b1750]
mov ecx, 0x10
movups xmm2, xmmword [0x100b0820]
mov dword [ebp - 0xc], 0xf5f4dcfe
movaps xmm1, xmmword [0x100b17b0]
movd eax, xmm0
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 8], 0xfc
mov byte [ebp - 6], 1
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x18]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x1c], xmm1
movaps xmm1, xmmword [0x100b17c0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x14]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x18], xmm1
movaps xmm1, xmmword [0x100b17d0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x10]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x14], xmm1
movaps xmm1, xmmword [0x100b17e0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm2
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x10], xmm1
mov al, cl
sub al, 0x7d
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0x15
jb 0x100572d1
mov edx, 0x100d965c
mov byte [ebp - 6], 0
lea ecx, [ebp - 0x1c]
call fcn.10033e60
movss xmm1, dword [0x100b05e8]
xorps xmm0, xmm0
call fcn.1001c850
movss xmm0, dword [0x100b05ac]
call fcn.1001b740
movaps xmm0, xmmword [0x100b1460]
lea ecx, [ebp - 0x30]
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x10], 0x68447d76
movaps xmm0, xmmword [0x100b1520]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0xc], 0x7f7f7c
mov byte [ebp - 8], 1
call fcn.10053fa0
sub esp, 8
mov dword [ebp - 0x50], 0x3c23d70a
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0x41200000
mov dword [esp + 4], 0x3f800000
push ecx
lea ecx, [ebp - 0x50]
push ecx
push 0x100d9660
mov ecx, eax
call fcn.10035850
add esp, 0x14
call fcn.1001b930
movss xmm1, dword [0x100b05e8]
xorps xmm0, xmm0
call fcn.1001c850
movss xmm0, dword [0x100b059c]
call fcn.1001b740
movaps xmm0, xmmword [str.NM_b__]
movups xmm2, xmmword [0x100b0820]
mov dword [ebp - 0x10], 0xe31e3610
movaps xmm1, xmmword [0x100b07e0]
movd eax, xmm0
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0xc], 0xfde6c9ea
mov word [ebp - 8], pe_nt_image_headers32
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x1c]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x20], xmm1
movaps xmm1, xmmword [0x100b07f0]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x18]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x1c], xmm1
movaps xmm1, xmmword [0x100b0800]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x14]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x18], xmm1
movaps xmm1, xmmword [0x100b0810]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm2
packuswb xmm1, xmm1
packuswb xmm1, xmm1
mov ecx, 0x10
movd dword [ebp - 0x14], xmm1
nop dword [eax]
mov al, cl
add al, 0x6d
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0x18
jb 0x10057470
sub esp, 8
mov byte [ebp - 7], 0
mov edx, 0x100d9664
push 0x100b8f78
push ecx
lea ecx, [ebp - 0x20]
call fcn.10034a80
add esp, 0x10
call fcn.1001b930
movaps xmm0, xmmword [0x100b1420]
lea ecx, [ebp - 0x38]
movups xmmword [ebp - 0x38], xmm0
mov word [ebp - 8], 0x28
movaps xmm0, xmmword [0x100b0ad0]
movups xmmword [ebp - 0x28], xmm0
mov byte [ebp - 6], 1
movaps xmm0, xmmword [0x100b0ab0]
movups xmmword [ebp - 0x18], xmm0
call fcn.100576d0
mov edx, 0x100d9668
mov ecx, eax
call fcn.10033e60
movaps xmm0, xmmword [str.aL_ZQ_]
lea ecx, [ebp - 0x4c]
movups xmmword [ebp - 0x4c], xmm0
mov byte [ebp - 0x3c], 1
call fcn.10057870
sub esp, 0x18
mov ecx, eax
call fcn.100367c0
movss xmm1, dword [0x100b05e8]
add esp, 0x18
xorps xmm0, xmm0
call fcn.1001c850
movaps xmm0, xmmword [0x100b1300]
movups xmm2, xmmword [0x100b0820]
mov dword [ebp - 0x44], 0
movaps xmm1, xmmword [0x100b0730]
movd eax, xmm0
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0xc], 0x100494e
movd xmm0, eax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x18]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x1c], xmm1
movaps xmm1, xmmword [0x100b0750]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x14]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x18], xmm1
movaps xmm1, xmmword [0x100b0770]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
movd xmm0, dword [ebp - 0x10]
andps xmm1, xmm2
punpcklbw xmm0, xmm0
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x14], xmm1
movaps xmm1, xmmword [0x100b0790]
punpcklwd xmm0, xmm0
psrad xmm0, 0x18
xorps xmm1, xmm0
andps xmm1, xmm2
packuswb xmm1, xmm1
packuswb xmm1, xmm1
movd dword [ebp - 0x10], xmm1
mov ecx, 0x10
mov al, cl
add al, 0x2c
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0x12
jb 0x100575f2
push 0
lea edx, [ebp - 0x44]
mov byte [ebp - 9], 0
lea ecx, [ebp - 0x1c]
call fcn.10032d70
add esp, 4
test al, al
je 0x100576b3
movss xmm0, dword [0x100d97e8]
lea ecx, [ebp - 0x48]
sub esp, 0xc
mov eax, 0x420b10
movss dword [esp + 8], xmm0
movss xmm0, dword [0x100d97e4]
movss dword [esp + 4], xmm0
movss xmm0, dword [0x100d97e0]
movss dword [esp], xmm0
call eax
push 0
push 0xffffffffffffffff
mov esi, 0x56e0d0
call esi
add esp, 8
test eax, eax
je 0x1005766f
push 0
push 0xffffffffffffffff
call esi
add esp, 8
jmp 0x10057686
push 0xffffffffffffffff
mov esi, 0x56e210
call esi
add esp, 4
test eax, eax
je 0x100576b3
push 0xffffffffffffffff
call esi
add esp, 4
mov ecx, dword [eax]
movss xmm0, dword [ebp - 0x48]
movss xmm1, dword [ebp - 0x44]
movss xmm2, dword [ebp - 0x40]
mov edx, dword [ecx + 0x38]
push 0
sub esp, 0xc
mov ecx, esp
movss dword [ecx], xmm0
movss dword [ecx + 4], xmm1
movss dword [ecx + 8], xmm2
mov ecx, eax
call edx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1005cac0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret