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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41e8f0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41e900
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41e920
mov eax, 0xffffffff
jmp 0x41e929
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040c880
add esp, 4
mov esi, eax
mov dword [esp + 0x50], 0x33cf31d6
mov dword [esp + 0x54], 0x3fd33dcf
mov dword [esp + 0x58], 0x3bf939ca
mov dword [esp + 0x5c], 0xc730c533
mov dword [esp + 0x60], 0xc32fc13c
mov dword [esp + 0x64], 0xcf32cd34
mov dword [esp + 0x68], 0xcb26c901
mov dword [esp + 0x6c], 0xd7ead511
mov dword [esp + 0x70], 0xd3ebd1e2
mov dword [esp + 0x74], 0xdfe7dde0
mov dword [esp + 0x78], 0xdbe5d9e6
mov dword [esp + 0x7c], 0xe7dfe5d6
mov dword [esp + 0x80], 0xe306e1dd
mov dword [esp + 0x84], 0xef02ed05
mov dword [esp + 0x88], 0xebeae90a
mov dword [esp + 0x8c], 0
mov eax, 0x34
mov ecx, 0xb
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x1c]
mov ebp, eax
and ebp, 0x34
mov edx, ecx
and edx, 0xcb
or edx, ebp
mov ebp, ecx
and ebp, edi
xor edx, edi
xor edx, 0xcb
or edx, ebp
add dl, 0x3c
mov byte [esp + eax + 0x1c], dl
inc eax
dec ecx
cmp eax, 0x74
jne 0x41e9d0
mov dword [esp + 8], 0x1fa91944
mov dword [esp + 0xc], 0x63d11da8
mov dword [esp + 0x10], 0x67c761d6
mov dword [esp + 0x14], 0x6bcf65cf
mov dword [esp + 0x18], 0x6fca6934
mov dword [esp + 0x1c], 0x73d86dc9
mov dword [esp + 0x20], 0x77c371d1
mov dword [esp + 0x24], 0x7bce75d8
mov dword [esp + 0x28], 0x7fd37924
mov dword [esp + 0x2c], 0x43fc7dcf
mov dword [esp + 0x30], 0x47e3412d
mov dword [esp + 0x34], 0x4bfe45fc
mov dword [esp + 0x38], 0x4ffc49ed
mov dword [esp + 0x3c], 0x53fb4dfb
mov dword [esp + 0x40], 0x57e451e3
mov dword [esp + 0x44], 0x5b35553b
mov dword [esp + 0x48], 0x5f5e5937
mov word [esp + 0x4c], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 8]
lea edi, [edx + edx]
not edi
add edi, edx
mov ecx, 0xc5
sub ecx, eax
or edi, ecx
add edi, eax
add edi, 0x3b
and ecx, edx
or ecx, edi
add cl, 0xde
mov byte [esp + eax + 8], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x46
jb 0x41eaa0
mov edi, dword [esp + 0xac]
mov ecx, dword [edi + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x41eb01
add ecx, 2
mov eax, esi
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41eaf0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x41eb31
lea edx, [esp + 0xa]
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 0x41eb20
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41eb61
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 0x41eb50
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x41eb91
lea edx, [esp + 0x52]
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 0x41eb80
mov word [eax], 0
mov eax, dword [esp + 0xb0]
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 0x41ebb0
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 0x41ebd0
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 0x41ebf0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x41ec14
mov eax, 0xffffffff
jmp 0x41ec1d
add ecx, edx
lea eax, [ecx*2 + 0x16]
mov dword [esp], esi
push eax
call fcn.0040c880
add esp, 4
mov dword [esp + 8], 0xf15dff55
mov dword [esp + 0xc], 0xf54ef34c
mov dword [esp + 0x10], 0xc942f753
mov dword [esp + 0x14], 0xcdbbcb7d
mov dword [esp + 0x18], 0xcfcc
xor edi, edi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, edi
and ebp, 0x2a
mov edx, ecx
xor edx, 0x55
add edx, ebp
xor dl, byte [esp + ecx + 8]
add dl, 0x57
mov byte [esp + ecx + 8], dl
inc ecx
add edi, 2
cmp ecx, 0x14
jne 0x41ec60
movzx ecx, word [esp + 8]
mov esi, eax
test cx, cx
je 0x41ecb1
lea edx, [esp + 0xa]
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41eca0
mov word [esi], 0
movzx ecx, word [ebx]
test cx, cx
mov ebp, dword [esp + 0xac]
je 0x41ece1
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x41ecd0
mov word [esi], 0x5f
add esi, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
mov dword [esp + 4], eax
je 0x41ed11
add ecx, 2
nop
nop
nop
nop
nop
mov word [esi], dx
add esi, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41ed00
mov edi, dword [esp]
mov word [esi], 0x5f
add esi, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41ed41
add ecx, 2
nop
nop
nop
nop
nop
nop
mov word [esi], dx
add esi, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41ed30
mov word [esi], 0
mov dword [esp + 8], 0xd1cecf26
mov byte [esp + 0xc], 0
mov eax, 0xd88f622d
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x27709ddb]
mov ecx, eax
and ecx, edx
mov ebp, ecx
and ebp, 2
mov esi, ecx
or esi, 0xfffffffd
inc esi
mov ebx, ecx
and ebx, 0x3d
imul ebx, esi
or ecx, 2
imul ecx, ebp
lea esi, [eax + edx]
add ebx, edx
sub ebx, ecx
add ebx, eax
and esi, 1
xor ebx, 1
lea ecx, [ebx + esi*2]
add cl, 0x1e
mov byte [esp + eax + 0x27709ddb], cl
inc eax
cmp eax, 0xd88f6232
jne 0x41ed60
lea eax, [esp + 8]
push 0
push 1
push 0
push eax
push edi
mov esi, dword [esp + 0x18]
push esi
push dword [esp + 0xbc]
call fcn.0041f0a0
add esp, 0x1c
mov ebx, eax
jmp dword [0x443f88]