Function at 0x42ab50
Capabilities:
Encode data using xor
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
movaps xmm0, xmmword [0x492f20]
xor ecx, ecx
push ebx
push esi
push edi
movups xmmword [esp + 0x8e], xmm0
mov byte [esp + 0x9e], 1
nop dword [eax + eax]
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x8e], al
inc ecx
cmp ecx, 0xf
jb 0x42ab80
mov byte [esp + 0x9e], 0
xor ecx, ecx
mov dword [esp + 0x11], 0xc381879a
mov dword [esp + 0x15], 0x10087c3
nop word [eax + eax]
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x11], al
inc ecx
cmp ecx, 6
jb 0x42abb0
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea eax, [esp + 0x8e]
push eax
lea eax, [esp + 0x15]
mov byte [esp + 0x1c], 0
push eax
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x42accb
movaps xmm0, xmmword [0x492f20]
xor ecx, ecx
movups xmmword [esp + 0x9f], xmm0
mov byte [esp + 0xaf], 1
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x9f], al
inc ecx
cmp ecx, 0xf
jb 0x42ac03
mov byte [esp + 0xaf], 0
xor ecx, ecx
mov dword [esp + 0x19], 0x828a9d98
mov dword [esp + 0x1d], 0x100c0c2
nop dword [eax]
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x19], al
inc ecx
cmp ecx, 6
jb 0x42ac30
lea eax, [esp + 0x9f]
mov byte [esp + 0x20], 0
push eax
lea eax, [esp + 0x1d]
push eax
call edi
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x42accb
mov dword [esp + 0x41], 0x94818bbe
xor ecx, ecx
mov dword [esp + 0x45], 0x81839cb8
mov word [esp + 0x49], 0x81
mov byte [esp + 0x4b], 1
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x41], al
inc ecx
cmp ecx, 9
jb 0x42ac78
mov byte [esp + 0x4b], 0
xor ecx, ecx
mov dword [esp + 0x21], 0x828a9d98
mov dword [esp + 0x25], 0x100c0c2
nop dword [eax]
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x21], al
inc ecx
cmp ecx, 6
jb 0x42aca0
lea eax, [esp + 0x41]
mov byte [esp + 0x28], 0
push eax
lea eax, [esp + 0x25]
push eax
call edi
push eax
call ebx
mov esi, eax
test esi, esi
je 0x42ae0f
movaps xmm0, xmmword [0x493ae0]
xor ecx, ecx
movups xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x5c], 0x618bad84
mov dword [esp + 0x60], 0x1006775
nop dword [eax]
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x4c], al
inc ecx
cmp ecx, 0x16
jb 0x42acf0
mov byte [esp + 0x63], 0
xor ecx, ecx
mov dword [esp + 0x29], 0xc381879a
mov dword [esp + 0x2d], 0x10087c3
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x29], al
inc ecx
cmp ecx, 6
jb 0x42ad14
lea eax, [esp + 0x4c]
mov byte [esp + 0x30], 0
push eax
lea eax, [esp + 0x2d]
push eax
call edi
push eax
call ebx
mov ecx, eax
test ecx, ecx
jne 0x42ae18
movaps xmm0, xmmword [0x493ae0]
movups xmmword [esp + 0x64], xmm0
mov dword [esp + 0x74], 0x618bad84
mov dword [esp + 0x78], 0x1006775
nop dword [eax + eax]
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x64], al
inc ecx
cmp ecx, 0x16
jb 0x42ad60
mov byte [esp + 0x7b], 0
xor ecx, ecx
mov dword [esp + 0x31], 0x828a9d98
mov dword [esp + 0x35], 0x100c0c2
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x31], al
inc ecx
cmp ecx, 6
jb 0x42ad84
lea eax, [esp + 0x64]
mov byte [esp + 0x38], 0
push eax
lea eax, [esp + 0x35]
push eax
call edi
push eax
call ebx
mov ecx, eax
test ecx, ecx
jne 0x42ae18
movaps xmm0, xmmword [0x493aa0]
movups xmmword [esp + 0x7c], xmm0
mov word [esp + 0x8c], 0x100
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x7c], al
inc ecx
cmp ecx, 0x10
jb 0x42adc1
mov byte [esp + 0x8d], 0
xor ecx, ecx
mov dword [esp + 0x39], 0x828a9d98
mov dword [esp + 0x3d], 0x100c0c2
lea eax, [ecx - 0x13]
xor byte [esp + ecx + 0x39], al
inc ecx
cmp ecx, 6
jb 0x42ade8
lea eax, [esp + 0x7c]
mov byte [esp + 0x40], 0
push eax
lea eax, [esp + 0x3d]
push eax
call edi
push eax
call ebx
mov ecx, eax
test ecx, ecx
jne 0x42ae18
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movups xmm0, xmmword [esi]
pop edi
movups xmmword [0x4b721c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [0x4b722c], xmm0
mov eax, dword [esi + 0x18]
mov dword [0x4b7234], eax
movzx eax, word [esi + 0x1c]
mov word [0x4b7238], ax
movups xmm0, xmmword [ecx]
pop esi
pop ebx
movups xmmword [0x4b723c], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [0x4b724c], xmm0
mov eax, dword [ecx + 0x18]
mov dword [0x4b7254], eax
movzx eax, word [ecx + 0x1c]
mov word [0x4b7258], ax
mov al, 1
mov esp, ebp
pop ebp
ret