Function at 0x41ea40
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 + 0x10], 0x63d0650d
mov dword [esp + 0x14], 0x6fcd61f3
mov dword [esp + 0x18], 0x6bf86dc1
mov dword [esp + 0x1c], 0x57f86925
mov dword [esp + 0x20], 0x531855c6
mov dword [esp + 0x24], 0x5fcc51fd
mov dword [esp + 0x28], 0x5b375df1
lea eax, [esp + 0x2c]
mov word [esp + 0x2c], 0x595a
mov dword [esp + 0x2e], 0
mov byte [esp + 0x32], 0
mov dword [esp + 0x94], 0
mov ecx, dword [esp + 0x94]
cmp ecx, 0x22
ja 0x41eb17
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x94]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + edx]
add esi, 0xc69df251
add ecx, 0xc69df251
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc8], esi
mov ecx, dword [esp + 0xc8]
add cl, 0xc9
mov edx, dword [esp + 0x94]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
cmp ecx, 0x23
jb 0x41eac0
lea esi, [esp + 0x94]
lea edx, [esp + 0x10]
mov ecx, 7
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xb0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea ebx, [esp + 0x6c]
push ebx
push 0
push 0
push 0xe
push esi
push 0
call dword [0x4498e4]
mov edi, dword [esp + 0x6c]
test edi, edi
jns 0x41eb63
mov eax, 0xffffffff
jmp 0x41eb66
lea eax, [edi + edi]
push eax
call fcn.00408c40
add esp, 4
push ebx
push edi
mov dword [esp + 0x10], eax
push eax
push 0xe
push esi
push 0
call dword [0x4498e4]
mov dword [esp + 0x10], 0xbf405fa
mov dword [esp + 0x14], 0xfed09ed
mov dword [esp + 0x18], 0x33eb0de3
mov dword [esp + 0x1c], 0x37db31db
mov dword [esp + 0x20], 0x3b3435a3
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov word [esp + 0x2c], 0
mov dword [esp + 0x70], 0
mov ecx, dword [esp + 0x70]
cmp ecx, 0x1d
ja 0x41ec24
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x70]
movzx edx, byte [esp + edx + 0x10]
lea edi, [ecx + 0x55]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0xf97f7d55
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
add cl, 0xad
mov edx, dword [esp + 0x70]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x70]
mov ecx, dword [esp + 0x70]
cmp ecx, 0x1e
jb 0x41ebe0
lea edi, [esp + 0xb4]
lea ebx, [esp + 0x10]
mov edx, ebx
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc8]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esp + 0x6c]
add eax, 0xa
mov ecx, eax
xor ecx, 0xfffffffe
and eax, 0xfffffffe
lea edx, [ecx + eax*2]
inc edx
test edx, edx
jns 0x41ec68
mov eax, 0xffffffff
jmp 0x41ec70
lea eax, [ecx + eax*2]
add eax, eax
add eax, 2
mov esi, dword [esp + 8]
push eax
call fcn.00408c40
add esp, 4
mov edi, eax
movzx ecx, word [esi]
test cx, cx
je 0x41eca1
lea edx, [esi + 2]
mov eax, edi
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41ec90
mov word [eax], 0
movzx ecx, word [esp + 0xb4]
test cx, cx
je 0x41ecd1
lea edx, [esp + 0xb6]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41ecc0
mov word [eax], 0
lea eax, [esp + 0x90]
push eax
push edi
call fcn.0043cd60
add esp, 8
not eax
shr eax, 0x1f
mov dword [esp + 8], edi
jmp dword [eax*4 + 0x444cf0]