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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov eax, dword [eax + 4]
xor ecx, ecx
nop
nop
nop
cmp word [eax + ecx], 0
lea ecx, [ecx + 2]
jne 0x41c110
lea edx, [eax + ecx]
add edx, 0xfffffffe
add ecx, eax
mov esi, 1
sub esi, ecx
and esi, eax
not eax
and eax, edx
sub eax, esi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + ecx], 0
lea ecx, [ecx + 2]
jne 0x41c140
sar eax, 1
lea edx, [ebx + ecx]
add edx, 0xfffffffe
add ecx, ebx
mov esi, 1
sub esi, ecx
and esi, ebx
mov ecx, ebx
not ecx
and ecx, edx
sub ecx, esi
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41c178
mov eax, 0xffffffff
jmp 0x41c181
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.00408230
add esp, 4
mov esi, eax
mov dword [esp + 0x4c], 0xf149ff52
mov dword [esp + 0x50], 0xf555f345
mov dword [esp + 0x54], 0xc9b3f746
mov dword [esp + 0x58], 0xcd74cb79
mov dword [esp + 0x5c], 0xc169cf78
mov dword [esp + 0x60], 0xc576c348
mov dword [esp + 0x64], 0xd962c79f
mov dword [esp + 0x68], 0xddaedb97
mov dword [esp + 0x6c], 0xd195dfae
mov dword [esp + 0x70], 0xd599d3a4
mov dword [esp + 0x74], 0x299fd7a2
mov dword [esp + 0x78], 0x2d612b5a
mov dword [esp + 0x7c], 0x21822f5b
mov dword [esp + 0x80], 0x2586239b
mov dword [esp + 0x84], 0x39262786
mov dword [esp + 0x88], 0
mov eax, 0x5f75d855
mov ebp, 0x208a27aa
nop
movzx edi, byte [esp + eax - 0x5f75d809]
mov ecx, ebp
and ecx, 0x2080252b
mov edx, eax
and edx, 0x494590d4
or edx, ecx
xor edx, edi
xor edx, 0xb6b06d2b
mov ecx, edx
and ecx, 1
or edx, 1
add edx, ecx
add dl, 0x56
mov byte [esp + eax - 0x5f75d809], dl
inc eax
dec ebp
cmp eax, 0x5f75d895
jne 0x41c220
mov dword [esp], 0x21ab2780
mov dword [esp + 4], 0x3d9323ac
mov dword [esp + 8], 0x399d3f8e
mov dword [esp + 0xc], 0x35853b81
mov dword [esp + 0x10], 0x318a3790
mov dword [esp + 0x14], 0xd8c338f
mov dword [esp + 0x18], 0x9810faf
mov dword [esp + 0x1c], 0x5860bbc
mov dword [esp + 0x20], 0x1b107a0
mov dword [esp + 0x24], 0x1d8803b1
mov dword [esp + 0x28], 0x19a11f6b
mov dword [esp + 0x2c], 0x15961b90
mov dword [esp + 0x30], 0x11a017ab
mov dword [esp + 0x34], 0x6da9139d
mov dword [esp + 0x38], 0x69d86fdd
mov dword [esp + 0x3c], 0x651f6b1d
mov dword [esp + 0x40], 0x61666711
mov dword [esp + 0x44], 0
mov eax, 0x5051f189
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x5051f189]
xor ecx, eax
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0x52
mov byte [esp + eax - 0x5051f189], cl
inc eax
cmp eax, 0x5051f1d1
jne 0x41c300
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x41c351
add ecx, 2
mov eax, esi
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41c340
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x41c381
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 0x41c370
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41c3b1
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 0x41c3a0
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x41c3e1
lea edx, [esp + 0x4e]
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 0x41c3d0
mov word [eax], 0
mov eax, dword [esp + 0xac]
mov ebx, dword [eax]
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax], 0
lea eax, [eax + 2]
jne 0x41c400
lea edx, [ebx + eax]
add edx, 0xfffffffe
add eax, ebx
mov edi, 1
sub edi, eax
and edi, ebx
mov ecx, ebx
not ecx
and ecx, edx
sub ecx, edi
mov eax, dword [esp + 0xa8]
mov eax, dword [eax]
xor edx, edx
nop
nop
cmp word [eax + edx], 0
lea edx, [edx + 2]
jne 0x41c430
mov dword [esp + 0x48], esi
lea edi, [eax + edx]
add edi, 0xfffffffe
add edx, eax
mov ebp, 1
sub ebp, edx
and ebp, eax
not eax
and eax, edi
sub eax, ebp
mov edx, dword [esp + 0xa8]
mov edx, dword [edx + 8]
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + edi], 0
lea edi, [edi + 2]
jne 0x41c470
sar ecx, 1
sar eax, 1
lea ebp, [edx + edi]
add ebp, 0xfffffffe
add edi, edx
mov esi, 1
sub esi, edi
and esi, edx
not edx
and edx, ebp
sub edx, esi
sar edx, 1
add eax, ecx
lea ecx, [edx + eax]
add ecx, 0xb
test ecx, ecx
jns 0x41c4aa
mov eax, 0xffffffff
jmp 0x41c4b3
add eax, edx
lea eax, [eax*2 + 0x16]
push eax
call fcn.00408230
add esp, 4
mov edi, eax
mov dword [esp], 0xb1ed8ff5
mov dword [esp + 4], 0xb5deb3dc
mov dword [esp + 8], 0xb922b7d3
mov dword [esp + 0xc], 0xbdebbb2d
mov word [esp + 0x10], 0xbfbc
mov dword [esp + 0x12], 0
mov eax, 0x305e2a9d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x305e2a9d]
lea edx, [eax - 0x305e2a00]
and edx, ecx
or ecx, eax
xor ecx, edx
mov edx, 1
sub edx, ecx
not edx
or edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0xee
mov byte [esp + eax - 0x305e2a9d], cl
inc eax
cmp eax, 0x305e2ab3
jne 0x41c500
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x41c561
lea edx, [esp + 2]
mov eax, edi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c550
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41c591
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 0x41c580
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x41c5c1
add ecx, 2
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41c5b0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41c5f1
add ecx, 2
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41c5e0
mov word [eax], 0
mov dword [esp], 0xf3f2f12a
mov word [esp + 4], 0
mov byte [esp + 6], 0
mov eax, 0x67d61e33
mov ecx, esp
movzx edx, byte [ecx]
xor edx, eax
xor edx, 0xda8e071f
add edx, 0x4d478223
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [ecx], dl
dec eax
inc ecx
cmp eax, 0x67d61e2c
jne 0x41c610
mov eax, esp
push 0
push 1
push 0
push eax
mov esi, dword [esp + 0x58]
push esi
push edi
push dword [esp + 0xb8]
call fcn.0041c950
add esp, 0x1c
mov ebx, eax
jmp dword [0x4441b8]