Function at 0x4f8b30
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, 0xfffffff8
sub esp, 0x330
mov esi, edx
mov dword [esp + 0x4c], ecx
mov edi, dword [ebp + 8]
lea eax, [esp + 0x60]
push 0x2c8
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0x50], edi
test edi, edi
je 0x4f910f
mov edx, esi
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x3c], ecx
mov esi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [esp + 0x38], ecx
movdqu xmm0, xmmword [eax + 0x18]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x28], ecx
mov ebx, dword [eax + 0x34]
mov edi, dword [eax + 0x30]
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x24]
nop word [eax + eax]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x2e8], edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x2ec], esi
mov edx, dword [esp + 0x30]
mov dword [esp + 0x2f0], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2f4], edx
movq qword [esp + 0x2f8], xmm0
mov edx, dword [esp + 0x28]
mov dword [esp + 0x308], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x30c], edx
mov dword [esp + 0x58], edi
mov dword [esp + 0x310], edi
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x314], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x318], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x31c], eax
pshufd xmm1, xmm0, 0xff
movd dword [esp + 0x20], xmm1
pshufd xmm1, xmm0, 0xee
movd dword [esp + 0x1c], xmm1
mov dword [esp + 0x10], 0xffffff80
lea ebx, [esp + 0x2e0]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
nop dword [eax + eax]
mov dword [esp], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x1c]
mov esi, edx
mov ecx, dword [esp + 0x20]
shld esi, ecx, 0x12
mov eax, edx
shld eax, ecx, 0xe
xor eax, esi
mov edi, ecx
shld edi, edx, 0x12
mov esi, ecx
shld esi, edx, 0xe
xor esi, edi
mov edi, edx
shld edi, ecx, 0x17
xor edi, esi
mov esi, ecx
shld esi, edx, 0x17
xor esi, eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + eax + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
bswap eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + eax + 0x80]
bswap eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov ebx, dword [esp]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x14]
mov dword [ebx], eax
mov dword [ebx + 0x24], ecx
mov dword [ebx + 0x20], edx
mov eax, dword [esp + 8]
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x2c]
and eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x28]
and eax, edx
not ecx
and ecx, dword [ebx + 0x34]
not edx
and edx, dword [ebx + 0x30]
add edi, dword [esp + 4]
adc esi, dword [esp + 8]
add edi, dword [ebx + 0x38]
adc esi, dword [ebx + 0x3c]
add edi, eax
adc esi, dword [esp + 0x18]
add edi, edx
adc esi, ecx
mov eax, dword [esp + 0x10]
add edi, dword [eax + 0x5726e0]
adc esi, dword [eax + 0x5726e4]
mov eax, dword [ebx + 0x18]
add eax, edi
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x1c]
adc eax, esi
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x14]
mov ecx, edx
mov eax, dword [esp + 0xc]
shld ecx, eax, 4
mov dword [esp + 8], ecx
mov ecx, eax
shld ecx, edx, 4
mov dword [esp + 0x18], ecx
shld eax, edx, 0x1e
mov dword [esp + 4], eax
mov eax, edx
mov ecx, dword [esp + 0xc]
shld eax, ecx, 0x1e
mov ecx, dword [esp + 8]
xor dword [esp + 4], ecx
xor eax, dword [esp + 0x18]
mov ecx, edx
mov edx, dword [esp + 0xc]
shld ecx, edx, 0x19
xor ecx, eax
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
shld eax, edx, 0x19
xor eax, dword [esp + 4]
add ecx, edi
mov dword [esp + 8], ecx
adc eax, esi
mov dword [esp + 4], eax
mov edi, dword [ebx + 8]
mov esi, dword [ebx + 0x10]
mov eax, esi
xor eax, edi
and eax, edx
mov ebx, dword [ebx + 0xc]
mov ecx, dword [esp]
mov edx, dword [ecx + 0x14]
mov ecx, edx
xor ecx, ebx
and ecx, dword [esp + 0xc]
and esi, edi
xor esi, eax
and edx, ebx
xor edx, ecx
add esi, dword [esp + 8]
mov eax, edx
mov ebx, dword [esp]
adc eax, dword [esp + 4]
add ebx, 0xfffffff8
add dword [esp + 0x10], 8
jne 0x4f8c70
add dword [esp + 0x50], 0xffffffff
mov dword [esp + 0x10], 0xfffffe00
nop word cs:[eax + eax]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], esi
mov dword [esp], ebx
mov esi, dword [ebx + 0xbc]
mov ebx, dword [ebx + 0xb8]
mov ecx, ebx
shld ecx, esi, 0x1f
mov eax, ebx
shld eax, esi, 0x18
xor eax, ecx
mov ecx, esi
shld ecx, ebx, 0x1f
mov edx, esi
shld edx, ebx, 0x18
shrd ebx, esi, 7
xor edx, ecx
xor ebx, edx
shr esi, 7
xor esi, eax
mov eax, dword [esp]
mov eax, dword [eax + 0x54]
mov ecx, dword [esp]
mov edi, dword [ecx + 0x50]
mov ecx, edi
shld ecx, eax, 0xd
mov dword [esp + 4], ecx
mov ecx, eax
shld ecx, edi, 0xd
mov dword [esp + 8], ecx
mov ecx, eax
shld ecx, edi, 3
mov edx, eax
shld edx, edi, 0x1a
shld edi, eax, 3
xor ecx, dword [esp + 4]
xor edi, dword [esp + 8]
xor edi, edx
shr eax, 6
xor eax, ecx
mov ecx, dword [esp]
mov edx, dword [ecx + 0x78]
mov ecx, dword [esp]
add edx, dword [ecx + 0xc0]
mov dword [esp + 4], edx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x7c]
mov edx, dword [esp]
adc ecx, dword [edx + 0xc4]
mov edx, ecx
mov ecx, dword [esp + 4]
add ecx, ebx
adc edx, esi
add ecx, edi
mov dword [esp + 4], ecx
adc edx, eax
mov dword [esp + 8], edx
mov esi, dword [esp + 0x1c]
mov edx, esi
mov edi, dword [esp + 0x20]
shld edx, edi, 0x12
mov eax, esi
shld eax, edi, 0xe
xor eax, edx
mov edx, edi
shld edx, esi, 0x12
mov ebx, edi
shld ebx, esi, 0xe
xor ebx, edx
mov ecx, esi
shld ecx, edi, 0x17
xor ecx, ebx
mov ebx, edi
shld ebx, esi, 0x17
xor ebx, eax
mov eax, dword [esp]
mov edx, dword [esp + 0x14]
mov dword [eax], edx
mov eax, dword [esp]
mov edx, dword [esp + 0xc]
mov dword [eax + 4], edx
mov eax, dword [esp]
mov dword [eax + 0x20], esi
mov eax, dword [esp]
mov dword [eax + 0x24], edi
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov dword [eax + 0x40], edx
mov eax, dword [esp]
mov edx, dword [esp + 8]
mov dword [eax + 0x44], edx
mov eax, dword [esp]
mov eax, dword [eax + 0x2c]
and eax, edi
mov dword [esp + 0x18], eax
mov edx, dword [esp]
mov eax, dword [edx + 0x28]
and eax, esi
not edi
mov edx, dword [esp]
and edi, dword [edx + 0x34]
not esi
mov edx, dword [esp]
and esi, dword [edx + 0x30]
mov edx, ecx
add edx, dword [esp + 4]
adc ebx, dword [esp + 8]
mov ecx, dword [esp]
add edx, dword [ecx + 0x38]
mov ecx, dword [esp]
adc ebx, dword [ecx + 0x3c]
add edx, eax
adc ebx, dword [esp + 0x18]
add edx, esi
adc ebx, edi
mov eax, dword [esp + 0x10]
add edx, dword [eax + 0x5728e0]
mov dword [esp + 4], edx
adc ebx, dword [eax + 0x5728e4]
mov eax, dword [esp]
mov eax, dword [eax + 0x18]
add eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp]
mov eax, dword [eax + 0x1c]
adc eax, ebx
mov dword [esp + 0x20], eax
mov esi, dword [esp + 0x14]
mov eax, esi
mov ecx, dword [esp + 0xc]
shld eax, ecx, 4
mov dword [esp + 8], eax
mov eax, ecx
shld eax, esi, 4
mov edi, ecx
shld edi, esi, 0x1e
mov edx, esi
shld edx, ecx, 0x1e
xor edi, dword [esp + 8]
xor edx, eax
mov eax, esi
shld eax, ecx, 0x19
xor eax, edx
mov edx, ecx
shld edx, esi, 0x19
mov ecx, esi
xor edx, edi
add eax, dword [esp + 4]
mov dword [esp + 8], eax
adc edx, ebx
mov dword [esp + 4], edx
mov eax, dword [esp]
mov ebx, dword [eax + 8]
mov eax, dword [esp]
mov esi, dword [eax + 0x10]
mov edx, esi
xor edx, ebx
and edx, ecx
mov eax, dword [esp]
mov edi, dword [eax + 0xc]
mov eax, dword [esp]
mov eax, dword [eax + 0x14]
mov ecx, eax
xor ecx, edi
and ecx, dword [esp + 0xc]
and esi, ebx
xor esi, edx
mov ebx, dword [esp]
and eax, edi
xor eax, ecx
add esi, dword [esp + 8]
adc eax, dword [esp + 4]
add ebx, 0xfffffff8
add dword [esp + 0x10], 8
jne 0x4f8e10
mov edi, dword [esp + 0x40]
add edi, esi
mov dword [esp + 0x40], edi
mov ecx, dword [esp + 0x3c]
adc ecx, eax
mov eax, dword [esp + 0x4c]
mov dword [eax], edi
mov dword [esp + 0x3c], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
mov esi, ebx
add ecx, dword [ebx + 8]
mov edx, dword [esp + 0x44]
adc edx, dword [ebx + 0xc]
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov ecx, dword [esp + 0x30]
add ecx, dword [ebx + 0x10]
movd xmm1, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
adc edx, dword [ebx + 0x14]
movd xmm2, dword [esp + 0x20]
mov dword [esp + 0x30], ecx
mov dword [eax + 0x10], ecx
mov dword [esp + 0x34], edx
mov dword [eax + 0x14], edx
punpckldq xmm1, xmm2
movd xmm2, dword [ebx + 0x18]
movd xmm3, dword [ebx + 0x1c]
punpckldq xmm2, xmm3
punpcklqdq xmm2, xmm1
paddq xmm0, xmm2
movdqu xmmword [eax + 0x18], xmm0
mov edx, dword [esp + 0x28]
add edx, dword [ebx + 0x28]
mov ecx, dword [esp + 0x2c]
adc ecx, dword [ebx + 0x2c]
mov dword [esp + 0x28], edx
mov dword [eax + 0x28], edx
mov dword [esp + 0x2c], ecx
mov dword [eax + 0x2c], ecx
mov edx, ebx
mov edi, dword [esp + 0x58]
add edi, dword [ebx + 0x30]
mov ebx, dword [esp + 0x5c]
adc ebx, dword [edx + 0x34]
mov dword [eax + 0x30], edi
mov dword [eax + 0x34], ebx
mov esi, dword [esp + 0x54]
add esi, dword [edx + 0x38]
mov ecx, dword [esp + 0x24]
adc ecx, dword [edx + 0x3c]
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], ecx
mov eax, ecx
mov ecx, esi
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
sub edx, 0xffffff80
cmp dword [esp + 0x50], 0
jne 0x4f8bc0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret