Function at 0x5e3a00
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x320
mov esi, edx
mov dword [esp + 0x28], ecx
mov edi, dword [ebp + 8]
lea eax, [esp + 0x50]
push 0x2c8
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x2c], edi
test edi, edi
je 0x5e3f9f
mov eax, dword [esp + 0x28]
movups xmm0, xmmword [eax]
movups xmm3, xmmword [eax + 0x10]
movups xmm2, xmmword [eax + 0x20]
movups xmm1, xmmword [eax + 0x30]
nop dword [eax + eax]
mov dword [esp + 0x24], esi
movaps xmm4, xmm0
shufps xmm4, xmm3, 0x4e
movups xmmword [esp + 0x2d8], xmm4
pshufd xmm4, xmm3, 0xee
movq qword [esp + 0x2e8], xmm4
movaps xmm4, xmm2
shufps xmm4, xmm1, 0x4e
movups xmmword [esp + 0x2f8], xmm4
pshufd xmm4, xmm1, 0xee
movq qword [esp + 0x308], xmm4
movd ecx, xmm0
pshufd xmm4, xmm0, 0x55
movd edx, xmm4
movd edi, xmm2
pshufd xmm4, xmm2, 0x55
movd ebx, xmm4
mov dword [esp + 0x14], 0xffffff80
lea eax, [esp + 0x2d0]
nop word [eax + eax]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 8], eax
mov eax, edi
shld eax, ebx, 0x12
mov edx, edi
shld edx, ebx, 0xe
xor edx, eax
mov eax, ebx
shld eax, edi, 0x12
mov esi, ebx
shld esi, edi, 0xe
xor esi, eax
mov ecx, edi
shld ecx, ebx, 0x17
xor ecx, esi
mov esi, ebx
shld esi, edi, 0x17
xor esi, edx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + edx + 0x84]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
bswap eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax + edx + 0x80]
bswap eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [eax], edx
mov eax, dword [esp + 8]
mov dword [eax + 0x24], ebx
mov eax, dword [esp + 8]
mov dword [eax + 0x20], edi
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x44], edx
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x40], edx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x2c]
and eax, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x28]
and edx, edi
not ebx
mov eax, dword [esp + 8]
and ebx, dword [eax + 0x34]
not edi
mov eax, dword [esp + 8]
and edi, dword [eax + 0x30]
add ecx, dword [esp + 0x10]
adc esi, dword [esp + 0x20]
mov eax, dword [esp + 8]
add ecx, dword [eax + 0x38]
mov eax, dword [esp + 8]
adc esi, dword [eax + 0x3c]
add ecx, edx
adc esi, dword [esp + 0x18]
add ecx, edi
adc esi, ebx
mov eax, dword [esp + 0x14]
add ecx, dword [eax + 0x8c21f8]
adc esi, dword [eax + 0x8c21fc]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x18]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x1c]
adc ebx, esi
mov eax, dword [esp + 0xc]
mov edx, eax
mov edi, dword [esp + 0x1c]
shld edx, edi, 4
mov dword [esp + 0x10], edx
mov edx, edi
shld edx, eax, 0x1e
xor edx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
mov edx, edi
shld edx, eax, 4
mov eax, dword [esp + 0xc]
shld eax, edi, 0x1e
xor eax, edx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
shld dword [esp + 0x10], edi, 0x19
xor dword [esp + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0xc]
shld eax, edi, 0x19
xor eax, dword [esp + 0x18]
add dword [esp + 0x10], ecx
adc eax, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 8]
mov dword [esp + 0x30], edx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x10]
mov esi, ecx
xor esi, edx
and esi, edi
mov eax, dword [esp + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x14]
mov edi, eax
xor edi, edx
and edi, dword [esp + 0x1c]
and ecx, dword [esp + 0x30]
xor ecx, esi
and eax, edx
xor eax, edi
mov edi, dword [esp + 0x20]
add ecx, dword [esp + 0x10]
mov edx, eax
mov eax, dword [esp + 8]
adc edx, dword [esp + 0x18]
add eax, 0xfffffff8
add dword [esp + 0x14], 8
jne 0x5e3ac0
movaps xmmword [esp + 0x40], xmm1
movaps xmmword [esp + 0x30], xmm3
dec dword [esp + 0x2c]
mov dword [esp + 0x10], 0xfffffe00
nop word cs:[eax + eax]
mov dword [esp + 0x1c], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
movq xmm6, qword [eax + 0x50]
movq xmm4, qword [eax + 0xb8]
movdqa xmm5, xmm4
punpcklqdq xmm5, xmm6
movd xmm6, dword [eax + 0xb8]
movdqa xmm7, xmm5
psrlq xmm7, 0x13
movdqa xmm1, xmm4
psrlq xmm1, 1
shufps xmm1, xmm7, 0xe4
movdqa xmm3, xmm5
psllq xmm3, 0x2d
movdqa xmm7, xmm4
psllq xmm7, 0x3f
shufps xmm7, xmm3, 0xe4
orps xmm7, xmm1
movdqa xmm1, xmm5
psrlq xmm1, 0x3d
movdqa xmm3, xmm4
psrlq xmm3, 8
shufps xmm3, xmm1, 0xe4
movdqa xmm1, xmm5
psllq xmm1, 3
psllq xmm6, 0x38
shufps xmm6, xmm1, 0xe4
orps xmm6, xmm3
xorps xmm6, xmm7
psrlq xmm5, 6
psrlq xmm4, 7
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x78]
mov ecx, dword [esp + 8]
add eax, dword [ecx + 0xc0]
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x7c]
mov edx, dword [esp + 8]
adc ecx, dword [edx + 0xc4]
shufps xmm4, xmm5, 0xe4
xorps xmm4, xmm6
movd edx, xmm4
add edx, eax
pshufd xmm1, xmm4, 0x55
movd eax, xmm1
adc eax, ecx
pshufd xmm1, xmm4, 0xee
movd ecx, xmm1
add ecx, edx
mov dword [esp + 0x14], ecx
pshufd xmm1, xmm4, 0xff
movd ecx, xmm1
adc ecx, eax
mov dword [esp + 0x20], ecx
mov ecx, edi
shld ecx, ebx, 0x12
mov eax, edi
shld eax, ebx, 0xe
xor eax, ecx
mov ecx, ebx
shld ecx, edi, 0x12
mov edx, ebx
shld edx, edi, 0xe
xor edx, ecx
mov esi, edi
shld esi, ebx, 0x17
xor esi, edx
mov edx, ebx
shld edx, edi, 0x17
xor edx, eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], ecx
mov eax, dword [esp + 8]
mov dword [eax + 0x20], edi
mov eax, dword [esp + 8]
mov dword [eax + 0x24], ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x40], ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x44], ecx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x2c]
and eax, ebx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x28]
and ecx, edi
not ebx
mov eax, dword [esp + 8]
and ebx, dword [eax + 0x34]
not edi
mov eax, dword [esp + 8]
and edi, dword [eax + 0x30]
add esi, dword [esp + 0x14]
adc edx, dword [esp + 0x20]
mov eax, dword [esp + 8]
add esi, dword [eax + 0x38]
mov eax, dword [esp + 8]
adc edx, dword [eax + 0x3c]
add esi, ecx
adc edx, dword [esp + 0x18]
add esi, edi
adc edx, ebx
mov eax, dword [esp + 0x10]
add esi, dword [eax + 0x8c23f8]
adc edx, dword [eax + 0x8c23fc]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x18]
add eax, esi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x1c]
adc ebx, edx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
shld eax, ecx, 4
mov dword [esp + 0x14], eax
mov edi, ecx
mov eax, dword [esp + 0xc]
shld edi, eax, 0x1e
xor edi, dword [esp + 0x14]
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0xc]
shld ecx, eax, 4
mov dword [esp + 0x18], ecx
mov edi, eax
mov ecx, dword [esp + 0x1c]
shld edi, ecx, 0x1e
xor edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
shld eax, ecx, 0x19
xor eax, edi
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc]
shld edi, ecx, 0x19
xor edi, dword [esp + 0x14]
add eax, esi
mov dword [esp + 0x14], eax
adc edi, edx
mov eax, dword [esp + 8]
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x10]
mov esi, edx
xor esi, ecx
and esi, dword [esp + 0xc]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x14]
mov ecx, eax
xor ecx, dword [esp + 0xc]
and ecx, dword [esp + 0x1c]
and edx, dword [esp + 0x18]
xor edx, esi
and eax, dword [esp + 0xc]
xor eax, ecx
mov ecx, edx
add ecx, dword [esp + 0x14]
mov edx, eax
mov eax, dword [esp + 8]
adc edx, edi
mov edi, dword [esp + 0x20]
add eax, 0xfffffff8
add dword [esp + 0x10], 8
jne 0x5e3ca0
movd xmm1, ecx
movd xmm3, edx
movd xmm4, edi
movd xmm5, ebx
punpckldq xmm1, xmm3
movdqu xmm3, xmmword [esp + 0x58]
punpcklqdq xmm1, xmm3
paddq xmm0, xmm1
mov eax, dword [esp + 0x28]
movdqu xmmword [eax], xmm0
movdqu xmm1, xmmword [esp + 0x60]
movdqa xmm3, xmmword [esp + 0x30]
paddq xmm3, xmm1
movdqu xmmword [eax + 0x10], xmm3
punpckldq xmm4, xmm5
movdqu xmm1, xmmword [esp + 0x78]
punpcklqdq xmm4, xmm1
paddq xmm2, xmm4
movdqu xmmword [eax + 0x20], xmm2
movdqu xmm1, xmmword [esp + 0x80]
movdqa xmm4, xmmword [esp + 0x40]
paddq xmm4, xmm1
movdqa xmm1, xmm4
movdqu xmmword [eax + 0x30], xmm4
mov esi, dword [esp + 0x24]
sub esi, 0xffffff80
cmp dword [esp + 0x2c], 0
jne 0x5e3a50
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret