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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov edi, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
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 0x41c6d0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41c6e0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41c700
mov eax, 0xffffffff
jmp 0x41c709
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.00408740
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x50], 0xd951db66
mov dword [esp + 0x54], 0xdd65df6d
mov dword [esp + 0x58], 0xd117d36a
mov dword [esp + 0x5c], 0xd564d761
mov dword [esp + 0x60], 0xa911ab60
mov dword [esp + 0x64], 0xad1aaf20
mov dword [esp + 0x68], 0xa106a373
mov dword [esp + 0x6c], 0xa552a763
mov dword [esp + 0x70], 0xb975bb52
mov dword [esp + 0x74], 0xbd71bf4c
mov dword [esp + 0x78], 0xb17bb376
mov dword [esp + 0x7c], 0xb579b746
mov dword [esp + 0x80], 0x89268b7f
mov dword [esp + 0x84], 0x8d2a8f37
mov dword [esp + 0x88], 0x8182832a
mov word [esp + 0x8c], 0
mov byte [esp + 0x8e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x50]
mov ecx, eax
and ecx, 0x2f
mov esi, ecx
not esi
add esi, eax
add esi, 0x45a5c030
mov ebp, esi
and ebp, ecx
xor ecx, esi
lea esi, [ecx + ebp*2]
mov ecx, esi
and ecx, edx
add ecx, ecx
add esi, edx
mov edx, ecx
xor edx, esi
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
add cl, 0x15
mov byte [esp + eax + 0x50], cl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, 0x3f
jb 0x41c7b0
mov dword [esp + 8], 0x1fb07e0
mov dword [esp + 0xc], 0xdf303fc
mov dword [esp + 0x10], 0x9ed0ffe
mov dword [esp + 0x14], 0x15e50be1
mov dword [esp + 0x18], 0x11fa17f0
mov dword [esp + 0x1c], 0x1dfc13ff
mov dword [esp + 0x20], 0x19e11fff
mov dword [esp + 0x24], 0x25e61bec
mov dword [esp + 0x28], 0x21d127c0
mov dword [esp + 0x2c], 0x2dd823d1
mov dword [esp + 0x30], 0x29c12f1b
mov dword [esp + 0x34], 0x35d62bd0
mov dword [esp + 0x38], 0x31c037db
mov dword [esp + 0x3c], 0x3dd933cd
mov dword [esp + 0x40], 0x39c83fcd
mov dword [esp + 0x44], 0xc50f3b0d
mov dword [esp + 0x48], 0xc1c6c7f1
mov word [esp + 0x4c], 0
xor eax, eax
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 8]
lea ecx, [eax + 0x4c55d241]
lea esi, [eax + 0x41]
and esi, edx
or ecx, edx
xor ecx, esi
mov esi, 2
sub esi, ecx
sub esi, ecx
not esi
and esi, 2
xor ecx, 1
add ecx, esi
add cl, 0xba
mov byte [esp + eax + 8], cl
mov ecx, eax
and ecx, 0x68
xor ecx, 0x1e478068
and eax, 0x17
sub eax, ecx
inc eax
mov ecx, eax
and ecx, 0x18068
xor eax, 0x1e478068
lea eax, [eax + ecx*2]
cmp eax, 0x46
jb 0x41c890
mov ebp, dword [esp + 0xac]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov esi, dword [esp]
mov eax, esi
test dx, dx
je 0x41c911
add ecx, 2
mov eax, esi
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41c900
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x41c941
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 0x41c930
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41c971
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 0x41c960
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x41c9a1
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 0x41c990
mov word [eax], 0
mov esi, dword [edi]
mov eax, 0xfffffffe
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x41c9b0
mov edx, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41c9d0
mov edi, dword [ebp + 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 0x41c9f0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x41ca14
mov eax, 0xffffffff
jmp 0x41ca1d
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.00408740
add esp, 4
mov dword [esp + 4], eax
mov dword [esp + 8], 0x79dd7bad
mov dword [esp + 0xc], 0x7de27fe4
mov dword [esp + 0x10], 0x71e673e7
mov dword [esp + 0x14], 0x752777e5
mov dword [esp + 0x18], 0x6b74
mov eax, 0x3892ebbf
mov ecx, 0x40
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x3892ebb7]
mov ebx, ecx
xor ebx, eax
and ebx, edx
xor ebx, eax
lea ebp, [ebx + ebx]
not ebp
add ebp, ebx
and ebp, eax
mov ebx, ebp
and ebx, 2
mov edi, ebp
or ebp, 2
imul ebp, ebx
xor ebx, 2
and edi, 0x3892ebfd
imul edi, ebx
add ebp, edi
lea edi, [ecx - 0x3892ec00]
and edi, ebp
mov ebx, ebp
not ebx
and ebx, eax
sub ebx, edi
add ebx, edx
mov edx, ebx
not edx
and edx, 0xe5
and ebx, 0x1a
sub ebx, edx
add bl, 0x2a
mov byte [esp + eax - 0x3892ebb7], bl
inc eax
dec ecx
cmp eax, 0x3892ebd3
jne 0x41ca60
movzx ecx, word [esp + 8]
mov ebp, dword [esp + 4]
mov eax, ebp
test cx, cx
je 0x41caf1
lea edx, [esp + 0xa]
mov eax, ebp
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41cae0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
mov edi, dword [esp + 0xac]
je 0x41cb21
add esi, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x41cb10
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi]
movzx edx, word [ecx]
test dx, dx
je 0x41cb53
add ecx, 2
mov esi, dword [esp]
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 0x41cb40
jmp 0x41cb56
mov esi, dword [esp]
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41cb81
add ecx, 2
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41cb70
mov word [eax], 0
mov dword [esp + 8], 0x7372712a
mov dword [esp + 0xc], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x6c
xor cl, byte [esp + eax + 8]
add cl, 0xe4
mov byte [esp + eax + 8], cl
inc eax
cmp eax, 8
jne 0x41cba0
lea eax, [esp + 8]
push 0
push 1
push 0
push eax
push esi
push ebp
push dword [esp + 0xbc]
call fcn.0041ceb0
add esp, 0x1c
mov ebx, eax
jmp dword [0x4441d0]