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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov edi, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41fa30
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41fa40
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41fa60
mov eax, 0xffffffff
jmp 0x41fa69
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040c860
add esp, 4
mov esi, eax
mov dword [esp + 0x44], 0xd1b9cf92
mov dword [esp + 0x48], 0xd5b5d3a5
mov dword [esp + 0x4c], 0xd993d7a6
mov dword [esp + 0x50], 0xddb4dba9
mov dword [esp + 0x54], 0xe1b9dfa8
mov dword [esp + 0x58], 0xe596e398
mov dword [esp + 0x5c], 0xe982e7af
mov dword [esp + 0x60], 0xeddeebd7
mov dword [esp + 0x64], 0xf1d5efde
mov dword [esp + 0x68], 0xf5c9f3c4
mov dword [esp + 0x6c], 0xf9cff7c2
mov dword [esp + 0x70], 0xfdc1fbca
mov dword [esp + 0x74], 0x1a2ffcb
mov dword [esp + 0x78], 0x566036b
mov dword [esp + 0x7c], 0x9060766
mov word [esp + 0x80], 0
mov byte [esp + 0x82], 0
mov eax, 0x7ce918ce
mov ecx, 0x32
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x7ce9188a]
mov ebp, ecx
and ebp, edx
not edx
or edx, ecx
add edx, eax
or edx, ebp
add edx, 0x16a4f66e
mov ebp, edx
and ebp, 0xf7283fe
xor edx, 0x8f7283fe
lea ebp, [edx + ebp*2]
add ebp, 0xe95b0992
mov edx, ebp
xor edx, 0xfe
or ebp, 1
and edx, ebp
add edx, ebp
mov byte [esp + eax - 0x7ce9188a], dl
inc eax
dec ecx
cmp eax, 0x7ce9190d
jne 0x41fb10
mov dword [esp], 0x3fa93984
mov dword [esp + 4], 0x23b13da8
mov dword [esp + 8], 0x278721b6
mov dword [esp + 0xc], 0x2b8f258f
mov dword [esp + 0x10], 0x2f8a2994
mov dword [esp + 0x14], 0x13b82d89
mov dword [esp + 0x18], 0x178311b1
mov dword [esp + 0x1c], 0x1b8e15b8
mov dword [esp + 0x20], 0x1fb319a4
mov dword [esp + 0x24], 0x39c1d8f
mov dword [esp + 0x28], 0x7a301ed
mov dword [esp + 0x2c], 0xb9e059c
mov dword [esp + 0x30], 0xf9c09ad
mov dword [esp + 0x34], 0xf35b0d9b
mov dword [esp + 0x38], 0xf764f163
mov dword [esp + 0x3c], 0xfb15f51b
mov dword [esp + 0x40], 0xfffef917
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax]
lea ecx, [eax + 0x2053d1e7]
mov ebp, ecx
and ebp, 0x2050834a
xor ecx, 0x3e74a74a
lea ecx, [ecx + ebp*2]
mov ebp, 0x2053d1e6
sub ebp, ecx
add ecx, 0x19
xor ecx, ebp
and ecx, edx
xor ecx, ebp
mov edx, ecx
not edx
and edx, 0xd
xor ecx, 0x72
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax], cl
mov ecx, eax
not ecx
or ecx, 1
add ecx, eax
xor eax, 1
lea eax, [eax + ecx*2]
add eax, 2
cmp eax, 0x44
jb 0x41fbf0
mov ebp, dword [esp + 0xa0]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x41fc71
add ecx, 2
mov eax, esi
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41fc60
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x41fca1
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 0x41fc90
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41fcd1
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 0x41fcc0
mov word [eax], 0
movzx ecx, word [esp + 0x44]
test cx, cx
je 0x41fd01
lea edx, [esp + 0x46]
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 0x41fcf0
mov word [eax], 0
mov ebx, dword [edi]
mov eax, 0xfffffffe
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41fd10
mov edx, eax
and edx, 0x12
mov edi, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41fd30
sar eax, 1
mov ebp, dword [ebp + 8]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + edi + 2], 0
lea edi, [edi + 2]
jne 0x41fd50
xor eax, 9
add edx, eax
sar ecx, 1
sar edi, 1
add ecx, edx
lea eax, [edi + ecx]
add eax, 2
test eax, eax
jns 0x41fd77
mov eax, 0xffffffff
jmp 0x41fd80
add ecx, edi
lea eax, [ecx*2 + 4]
push eax
call fcn.0040c860
add esp, 4
mov edi, eax
mov dword [esp], 0x39953b85
mov dword [esp + 4], 0x25b227ac
mov dword [esp + 8], 0x21be238f
mov dword [esp + 0xc], 0x2dff2fbd
mov word [esp + 0x10], 0x2b2c
mov dword [esp + 0x12], 0
mov byte [esp + 0x16], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
and ebp, 0x16
mov edx, ecx
xor edx, 0x4b
add edx, ebp
xor dl, byte [esp + ecx]
add dl, 0x89
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 0x17
jne 0x41fdd0
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x41fe11
lea edx, [esp + 2]
mov eax, edi
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41fe00
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov ebp, dword [esp + 0xa0]
je 0x41fe41
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 0x41fe30
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x41fe71
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 0x41fe60
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41fea1
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 0x41fe90
mov word [eax], 0
mov dword [esp], 0xe1e6e7be
mov word [esp + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax]
mov edx, 0x26
sub edx, eax
and edx, ecx
mov ebx, 0x535bc226
sub ebx, eax
or ebx, ecx
not ebx
or ebx, edx
mov ecx, ebx
and ecx, 1
xor ebx, 1
lea ecx, [ebx + ecx*2]
add cl, 0xc2
mov byte [esp + eax], cl
mov ecx, eax
xor ecx, 0xfffffffe
or eax, 1
and ecx, eax
add eax, ecx
cmp eax, 6
jb 0x41fec0
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb0]
call fcn.004201e0
add esp, 0x1c
mov ebx, eax
jmp dword [0x445ed0]