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

Disassembly:
sub esp, 0x2cc
push ebx
push ebp
push esi
mov ebx, ecx
mov dword [esp + 0x34], edx
push edi
mov dword [esp + 0x3c], ebx
xor esi, esi
mov dword [esp + 0x10], 0xd7eee7a0
mov edi, 0xff
mov byte [esp + 0x14], 0xa5
movzx eax, byte [esp + esi + 0x10]
sub ax, 0x7b
and ax, di
mov word [esp + esi*2 + 0x4c], ax
inc esi
cmp esi, 5
jl 0x41e52a
xor eax, eax
mov word [esp + 0x56], ax
mov al, byte [0x42cb28]
add al, 0x41
mov byte [0x42cabe], al
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.004233ac
movzx edx, word [0x42cb38]
mov ebp, eax
xor edx, 0x5c269067
mov dword [esp + 0x18], ebp
mov dword [0x42caf4], edx
pop ecx
pop ecx
test ebp, ebp
je 0x41ea46
mov ecx, dword [0x42cb28]
lea eax, [edx + 0x59a77e9c]
mov dword [0x42cb28], eax
add ecx, 0xf9a5943
mov eax, edx
mov dword [str._wUQUL], ecx
or eax, 0xa139
or dl, 0x85
mov word [0x42cb38], ax
xor ecx, ecx
lea eax, [esp + 0x88]
mov byte [0x42cabe], dl
push eax
push ebp
mov edx, 0x54e1cc7b
inc ecx
call fcn.00415333
call eax
mov cl, byte [0x42cb28]
mov esi, eax
movzx edx, word [0x42cb38]
xor cl, 0xc2
mov byte [0x42cabe], cl
mov ecx, 0xe651
imul edx, ecx
mov ecx, dword [0x42caf4]
or ecx, 0xa9b6219b
mov dword [esp + 0x1c], esi
mov dword [str._wUQUL], ecx
xor ecx, ecx
inc ecx
mov word [0x42cb38], dx
mov edx, 0x17299c7b
call fcn.00415333
mov dx, word [0x42cb38]
movzx ecx, dx
and ecx, 0x633435a4
mov dword [esp + 0x40], eax
cmp esi, 0xffffffff
je 0x41ea16
mov edx, dword [0x42cb28]
lea eax, [ecx - 0x18dbc0c3]
mov esi, dword [str._wUQUL]
or edx, 0x61afb874
mov ebp, dword [esp + 0x1c]
add esi, 0x156f
mov word [0x42cb38], si
mov dword [str._wUQUL], eax
mov word [esp + 0x18], 0x8b8b
mov dword [esp + 0x20], 0x143b246d
mov word [esp + 0x24], 0x246d
mov byte [esp + 0x26], 0x3b
push 0x2e
pop eax
mov word [esp + 0x1c], ax
xor eax, eax
mov word [esp + 0x1e], ax
xor ecx, ecx
movzx eax, byte [esp + ecx + 0x18]
sub ax, 0x5d
and ax, di
mov word [esp + ecx*2 + 0x44], ax
inc ecx
cmp ecx, 2
jl 0x41e68e
xor eax, eax
xor ecx, ecx
mov word [esp + 0x48], ax
mov al, byte [esp + ecx + 0x20]
xor al, 0x48
movzx eax, al
mov word [esp + ecx*2 + 0x58], ax
inc ecx
cmp ecx, 7
jl 0x41e6ae
xor eax, eax
mov word [esp + 0x66], ax
movzx eax, si
add eax, 0x4993b07e
mov dword [0x42caf4], eax
mov al, dl
shl al, 6
mov byte [0x42cabe], al
imul eax, edx, 0x1ffffa36
mov dword [0x42cb28], eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41e9d1
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00405af6
pop ecx
pop ecx
test eax, eax
je 0x41e9d1
movzx eax, byte [0x42cb28]
imul eax, eax, 0xe9
mov byte [0x42cabe], al
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x5c]
push ebx
push eax
call fcn.004233ac
movzx esi, word [0x42cb28]
mov edi, eax
mov ecx, esi
add esp, 0xc
and ecx, 0x5abd
mov word [0x42cb38], cx
test edi, edi
je 0x41e9a9
mov bl, byte [0x42cabe]
mov ecx, 0x1650
mov edx, dword [str._wUQUL]
imul eax, esi, 0x5524
sub edx, 0x6dc2d333
mov dword [str._wUQUL], edx
movzx eax, ax
sub eax, 0xc42c696
mov dword [0x42cb28], eax
movzx eax, bl
and ax, cx
test byte [esp + 0x88], 0x10
mov word [0x42cb38], ax
je 0x41e89b
mov dword [esp + 0x28], 0x8ed2cd84
xor ecx, ecx
mov word [esp + 0x2c], 0xcd84
mov byte [esp + 0x2e], 0xd2
mov al, byte [esp + ecx + 0x28]
xor al, 0xa1
movzx eax, al
mov word [esp + ecx*2 + 0x68], ax
inc ecx
cmp ecx, 7
jl 0x41e7cb
xor eax, eax
mov word [esp + 0x76], ax
movzx eax, bl
mov ebx, dword [esp + 0x38]
imul eax, eax, 0xe2
mov byte [0x42cabe], al
lea eax, [edx + 0x48b]
or eax, 0xc2dc
mov word [0x42cb38], ax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x6c]
push ebx
push eax
call fcn.004233ac
imul ecx, dword [str._wUQUL], 0x42d1318e
mov esi, eax
mov edx, dword [str._wUQUL]
add esp, 0xc
or edx, 0x3a732992
mov dword [0x42caf4], edx
mov dword [str._wUQUL], ecx
test esi, esi
je 0x41e8a5
mov ecx, dword [0x42cb28]
mov edx, esi
mov eax, ecx
and ecx, 0x41488b35
xor eax, 0xd3fc
mov dword [0x42caf4], ecx
mov word [0x42cb38], ax
mov ecx, edi
movzx eax, ax
or eax, 0x7eeb982f
mov dword [str._wUQUL], eax
call fcn.0041e502
mov al, byte [0x42cb28]
add dword [str._wUQUL], 0x6f9079b3
and al, 0xec
push esi
mov byte [0x42cabe], al
call fcn.004056f0
pop ecx
jmp 0x41e89f
mov ebx, dword [esp + 0x38]
mov edx, dword [0x42caf4]
test byte [esp + 0x88], 0xa7
je 0x41e985
mov dword [esp + 0x30], 0xd9859ad3
xor ecx, ecx
mov word [esp + 0x34], 0x9ad3
mov byte [esp + 0x36], 0x85
mov al, byte [esp + ecx + 0x30]
xor al, 0xf6
movzx eax, al
mov word [esp + ecx*2 + 0x78], ax
inc ecx
cmp ecx, 7
jl 0x41e8c9
xor eax, eax
mov word [esp + 0x86], ax
movzx eax, dl
imul eax, eax, 0x32
and al, 0x50
mov byte [0x42cabe], al
imul eax, edx, 0xe5a54a59
mov dword [0x42cb28], eax
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x7c]
push ebx
push eax
call fcn.004233ac
mov cl, byte [str._wUQUL]
mov esi, eax
and cl, 0x64
add esp, 0xc
mov byte [0x42cabe], cl
mov ecx, dword [0x42cb28]
mov eax, ecx
or eax, 0x8ca582b7
mov dword [str._wUQUL], eax
test esi, esi
je 0x41e985
and ecx, 0xef68457
add eax, 0x3cc2e04
mov dword [str._wUQUL], ecx
mov edx, esi
mov ecx, edi
mov dword [0x42caf4], eax
call fcn.0041e43a
movzx eax, word [0x42cb38]
sub eax, 0x243ec857
mov dword [0x42cb28], eax
movzx eax, byte [0x42cabe]
imul eax, eax, 0x8b41ccf0
push esi
mov dword [str._wUQUL], eax
call fcn.004056f0
pop ecx
mov al, byte [0x42cb38]
or al, 0x3e
mov byte [0x42cabe], al
movzx eax, al
and eax, 0x7557f338
push edi
mov dword [0x42cb28], eax
call fcn.004056f0
mov ebx, dword [esp + 0x40]
pop ecx
mov edi, 0xff
lea eax, [esp + 0x88]
push eax
push ebp
call dword [esp + 0x48]
test eax, eax
je 0x41e9dd
mov edx, dword [0x42cb28]
mov si, word [0x42cb38]
jmp 0x41e67d
sub dword [str._wUQUL], 0x4fdee5ac
jmp 0x41e9ae
mov edx, dword [0x42caf4]
xor ecx, ecx
push ebp
inc ecx
lea eax, [edx - 0x105b]
add edx, 0x537bb675
mov dword [0x42caf4], edx
mov edx, 0x83fbc401
mov word [0x42cb38], ax
call fcn.00415333
call eax
mov dx, word [0x42cb38]
mov ebp, dword [esp + 0x10]
imul ecx, dword [0x42cb28], 0xf0edab95
movzx eax, dx
sub eax, 0x5fd7931d
mov dword [0x42cb28], eax
push ebp
mov dword [0x42caf4], ecx
lea eax, [ecx + 0x1715]
mov word [0x42cb38], ax
call fcn.004056f0
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2cc
ret