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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41cec0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41ced0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41cef0
mov eax, 0xffffffff
jmp 0x41cef9
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.00408630
add esp, 4
mov esi, eax
mov dword [esp + 0x48], 0xc357c1be
mov dword [esp + 0x4c], 0xc7a3c557
mov dword [esp + 0x50], 0xcb89c95a
mov dword [esp + 0x54], 0xcfa0cda3
mov dword [esp + 0x58], 0xf397f164
mov dword [esp + 0x5c], 0xf762f56c
mov dword [esp + 0x60], 0xfb9ef9b1
mov dword [esp + 0x64], 0xffaafda1
mov dword [esp + 0x68], 0xe3bbe1b2
mov dword [esp + 0x6c], 0xe7bfe5b0
mov dword [esp + 0x70], 0xebbde9be
mov dword [esp + 0x74], 0xefb7edbe
mov dword [esp + 0x78], 0x136e1145
mov dword [esp + 0x7c], 0x1772157d
mov dword [esp + 0x80], 0x1b1a197a
mov byte [esp + 0x84], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xd0
xor cl, byte [esp + eax + 0x48]
add cl, 0xf0
mov byte [esp + eax + 0x48], cl
inc eax
cmp eax, 0x3d
jne 0x41cf90
mov dword [esp], 0x3f101dc
mov dword [esp + 4], 0x7e905f0
mov dword [esp + 8], 0xbeb09fa
mov dword [esp + 0xc], 0xfeb0deb
mov dword [esp + 0x10], 0x13f611cc
mov dword [esp + 0x14], 0x17f015f1
mov dword [esp + 0x18], 0x1bef19f9
mov dword [esp + 0x1c], 0x1fea1df0
mov dword [esp + 0x20], 0x23cf21fc
mov dword [esp + 0x24], 0x27dc25cb
mov dword [esp + 0x28], 0x2bcf2905
mov dword [esp + 0x2c], 0x2fda2dd4
mov dword [esp + 0x30], 0x33dc31d5
mov dword [esp + 0x34], 0x37df35c7
mov dword [esp + 0x38], 0x3bd439d7
mov dword [esp + 0x3c], 0x3f153d17
mov dword [esp + 0x40], 0xc3c2c1eb
mov dword [esp + 0x44], 0
mov eax, 0x2a322040
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x2a322040]
xor ecx, eax
mov edx, ecx
and edx, 0xbd
mov ebp, ecx
and ebp, 2
mov edi, ebp
xor edi, 2
imul edi, edx
or edx, 2
imul edx, ebp
lea ebp, [ecx + ecx]
and ebp, 0x7e
sub ecx, ebp
add ecx, edi
add ecx, edx
add cl, 0xc0
mov byte [esp + eax - 0x2a322040], cl
inc eax
cmp eax, 0x2a322088
jne 0x41d040
mov edi, dword [esp + 0xa4]
mov ecx, dword [edi + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x41d0b1
add ecx, 2
mov eax, esi
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41d0a0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x41d0e1
lea edx, [esp + 2]
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 0x41d0d0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41d111
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41d100
mov word [eax], 0
movzx ecx, word [esp + 0x48]
test cx, cx
je 0x41d141
lea edx, [esp + 0x4a]
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 0x41d130
mov word [eax], 0
mov eax, dword [esp + 0xa8]
mov ebx, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41d160
mov edx, dword [edi]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41d180
mov edi, dword [edi + 8]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + edx + 2], 0
lea edx, [edx + 2]
jne 0x41d1a0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x41d1c4
mov eax, 0xffffffff
jmp 0x41d1cd
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.00408630
add esp, 4
mov edi, eax
mov dword [esp], 0x298d2bfd
mov dword [esp + 4], 0x2d822f84
mov dword [esp + 8], 0x31863387
mov dword [esp + 0xc], 0x35c73785
mov word [esp + 0x10], 0x3b34
mov dword [esp + 0x12], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov ebp, eax
and ebp, 0xe
mov edx, ecx
xor edx, 0xc7
add edx, ebp
xor dl, byte [esp + ecx]
add dl, 0x1d
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x16
jne 0x41d210
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x41d261
lea edx, [esp + 2]
mov eax, edi
nop
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 0x41d250
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov ebp, dword [esp + 0xa4]
je 0x41d291
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41d280
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x41d2c1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41d2b0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41d2f1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41d2e0
mov word [eax], 0
mov dword [esp], 0x2322215a
mov word [esp + 4], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx]
mov edx, ecx
or edx, ebx
or edx, 0xeeec7e88
lea ebp, [eax + 0x11138177]
or ebp, ebx
sub edx, ebp
add edx, eax
mov ebx, edx
and ebx, 1
xor edx, 1
lea edx, [edx + ebx*2]
add dl, 0xce
mov byte [esp + ecx], dl
inc ecx
dec eax
cmp eax, 0xfffffffa
jne 0x41d310
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb4]
call fcn.0041d5f0
add esp, 0x1c
mov ebx, eax
jmp dword [0x443454]