Function at 0x41ebc0
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], 0xab68a54d
mov dword [esp + 0xc], 0xaf0da91b
mov dword [esp + 0x10], 0xb300ad09
mov dword [esp + 0x14], 0xb700b175
mov dword [esp + 0x18], 0xbb70b506
mov dword [esp + 0x1c], 0xbf0cb91d
mov dword [esp + 0x20], 0x8357bd19
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0x8182
mov byte [esp + 0x28], 0
mov dword [esp + 0x94], 0
mov ecx, dword [esp + 0x94]
cmp ecx, 0x20
ja 0x41ec8d
nop
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x94]
movzx edx, byte [esp + edx + 8]
mov esi, ecx
and esi, 0xf9ee3bc5
xor ecx, 0x79ee3bc5
lea ecx, [ecx + esi*2]
mov esi, ecx
and esi, edx
add ecx, edx
add esi, esi
sub ecx, esi
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
add cl, 0x9d
mov edx, dword [esp + 0x94]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x94]
mov ecx, dword [esp + 0x94]
cmp ecx, 0x21
jb 0x41ec30
lea esi, [esp + 0x94]
lea edx, [esp + 8]
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 + 0x64]
push ebx
push 0
push 0
push 0xe
push esi
push 0
call dword [0x448864]
mov edi, dword [esp + 0x64]
test edi, edi
jns 0x41ecd9
mov eax, 0xffffffff
jmp 0x41ecdc
lea eax, [edi + edi]
push eax
call fcn.004090e0
add esp, 4
push ebx
push edi
mov ebx, eax
push eax
push 0xe
push esi
push 0
call dword [0x448864]
mov dword [esp + 8], 0x63946582
mov dword [esp + 0xc], 0x6f8d618d
mov dword [esp + 0x10], 0x6b836dfb
mov dword [esp + 0x14], 0x17836983
mov dword [esp + 0x18], 0x1314158b
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x23], 0
mov dword [esp + 0x68], 0
mov ecx, dword [esp + 0x68]
cmp ecx, 0x1e
ja 0x41ed9f
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x68]
movzx edi, byte [esp + edx + 8]
lea edx, [ecx + edi]
add edx, 0xf3d22c31
add ecx, 0x31
and ecx, edi
add ecx, ecx
mov edi, edx
not edi
and edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
add cl, 0xa9
mov edx, dword [esp + 0x68]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
cmp ecx, 0x1f
jb 0x41ed50
lea edi, [esp + 0xb4]
lea edx, [esp + 8]
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 + 0x64]
add eax, 0xa
mov ecx, eax
xor ecx, 0xfffffffe
and eax, 0xfffffffe
lea edx, [ecx + eax*2]
inc edx
test edx, edx
jns 0x41ede1
mov eax, 0xffffffff
jmp 0x41ede9
lea eax, [ecx + eax*2]
add eax, eax
add eax, 2
mov esi, ebx
push eax
call fcn.004090e0
add esp, 4
mov edi, eax
movzx ecx, word [ebx]
test cx, cx
je 0x41ee21
lea edx, [esi + 2]
mov eax, edi
nop
nop
nop
nop
nop
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 0x41ee10
mov word [eax], 0
movzx ecx, word [esp + 0xb4]
test cx, cx
je 0x41ee51
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 0x41ee40
mov ebx, dword [ebp + 8]
mov word [eax], 0
lea eax, [esp + 0x90]
push eax
push edi
call fcn.0043c220
add esp, 8
not eax
shr eax, 0x1f
mov dword [esp + 0x88], edi
jmp dword [eax*4 + 0x443f2c]