Function at 0x41fe80
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, 0x118
mov dword [esp + 8], 0x9b2e9975
mov dword [esp + 0xc], 0x87258513
mov dword [esp + 0x10], 0x83168121
mov dword [esp + 0x14], 0x8f1e8d4d
mov dword [esp + 0x18], 0x8b468918
mov dword [esp + 0x1c], 0x77ea75d5
mov dword [esp + 0x20], 0x739f71d1
lea eax, [esp + 0x24]
mov dword [esp + 4], eax
mov word [esp + 0x24], 0x7d7c
mov dword [esp + 0x26], 0
mov byte [esp + 0x2a], 0
xor ecx, ecx
mov edi, 0x15c5396c
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 8]
mov dword [esp], eax
mov ebx, ecx
and ebx, 0x2c
mov esi, ecx
and esi, 0x13
lea eax, [edi - 0x15c5396c]
and eax, 0x58
mov edx, edi
sub edx, eax
mov eax, edx
xor eax, esi
not esi
and esi, edx
add esi, esi
sub esi, eax
add esi, ebx
mov edx, dword [esp]
lea eax, [edx + edx]
not eax
add eax, edx
lea ebx, [esi + esi]
not ebx
add ebx, esi
lea edx, [ebx + ebx]
not edx
add edx, ebx
and edx, eax
xor ebx, eax
add ebx, eax
not ebx
add ebx, edx
or esi, dword [esp]
mov eax, ebx
and eax, esi
xor esi, ebx
sub esi, ebx
add esi, eax
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0xa8]
add esi, 0x263a89c
mov eax, esi
xor eax, 0x442b12d5
and esi, 0x3bd4ed2a
add esi, esi
sub esi, eax
mov eax, esi
xor eax, 0x986491f4
and esi, 0xe79b6e0b
add esi, esi
sub esi, eax
mov eax, esi
and eax, 0x55
xor esi, 0xd5
lea eax, [esi + eax*2]
add al, 0x64
mov byte [esp + ecx + 8], al
inc ecx
add edi, 2
cmp ecx, 0x23
jne 0x41fef0
lea esi, [esp + 0xf6]
lea eax, [esp + 8]
mov edi, esi
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x112]
mov ecx, 1
mov eax, dword [esp + 4]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x64]
push edi
push 0
push 0
push 0xe
push esi
push 0
call dword [0x44d624]
mov ebx, dword [esp + 0x64]
test ebx, ebx
jns 0x41fff1
mov eax, 0xffffffff
jmp 0x41fff4
lea eax, [ebx + ebx]
push eax
call fcn.00408fc0
add esp, 4
push edi
push ebx
mov dword [esp + 8], eax
push eax
push 0xe
push esi
push 0
call dword [0x44d624]
mov dword [esp + 8], 0x1b6a197c
mov dword [esp + 0xc], 0x17751575
mov dword [esp + 0x10], 0x1373118b
mov dword [esp + 0x14], 0xf930d93
mov dword [esp + 0x18], 0xb0a099b
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov byte [esp + 0x20], 0
mov ecx, 0xe3896204
nop
nop
nop
movzx edx, byte [esp + ecx + 0x1c769e04]
xor edx, ecx
mov dword [esp + 0xa8], edx
mov esi, dword [esp + 0xa8]
mov edi, esi
xor edi, 0x38c1ae1c
mov edx, esi
and edx, 0x1c
add edx, edx
sub edx, esi
or esi, 0xc73e51e3
lea ebx, [edi + esi]
inc ebx
mov edi, ebx
xor edi, 2
mov esi, ebx
or esi, 0xfffffffd
and edi, esi
not esi
imul esi, edi
mov edi, ebx
and edi, 2
or ebx, 2
imul ebx, edi
add ebx, edx
add ebx, esi
add bl, 0xe4
mov byte [esp + ecx + 0x1c769e04], bl
inc ecx
cmp ecx, 0xe389621d
jne 0x420050
lea edi, [esp + 0x94]
lea edx, [esp + 8]
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa8]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x64]
add eax, 0xa
mov ecx, eax
xor ecx, 1
and eax, 0xfffffffe
add eax, eax
sub eax, ecx
jns 0x4200f6
mov eax, 0xffffffff
jmp 0x4200f8
add eax, eax
push eax
call fcn.00408fc0
add esp, 4
mov esi, eax
mov eax, dword [esp]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x420131
mov eax, dword [esp]
lea edx, [eax + 2]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420120
mov word [eax], 0
movzx ecx, word [esp + 0x94]
test cx, cx
je 0x420161
lea edx, [esp + 0x96]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420150
mov word [eax], 0
lea eax, [esp + 0x70]
push eax
push esi
call fcn.004409b0
add esp, 8
not eax
shr eax, 0x1f
mov dword [esp + 4], esi
jmp dword [eax*4 + 0x448db8]