Function at 0x41c5e0
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 ecx, dword [eax + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x41c600
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41c610
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41c630
mov eax, 0xffffffff
jmp 0x41c639
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.00408940
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x4c], 0x19a11bbe
mov dword [esp + 0x50], 0x65cd67a5
mov dword [esp + 0x54], 0x612f63da
mov dword [esp + 0x58], 0x6ddc6fd1
mov dword [esp + 0x5c], 0x69c16bd0
mov dword [esp + 0x60], 0x75ca77d0
mov dword [esp + 0x64], 0x71de7323
mov dword [esp + 0x68], 0x7d027f33
mov dword [esp + 0x6c], 0x793d7b02
mov dword [esp + 0x70], 0x45014704
mov dword [esp + 0x74], 0x413b433e
mov dword [esp + 0x78], 0x4d094f3e
mov dword [esp + 0x7c], 0x49ee4b37
mov dword [esp + 0x80], 0x55fa57ff
mov dword [esp + 0x84], 0x515253fa
mov word [esp + 0x88], 0
mov byte [esp + 0x8a], 0
mov eax, 0xf50c583b
mov ecx, 0xc4
nop
movzx edx, byte [esp + eax + 0xaf3a811]
lea edi, [edx + edx]
not edi
add edi, edx
and edi, eax
and edx, ecx
or edx, edi
lea edi, [edx + 0xd8]
mov ebp, 1
sub ebp, edx
not ebp
or ebp, edx
and ebp, 1
mov esi, 0x27
sub esi, edx
and esi, 0x66
and edi, 0x99
or edi, esi
xor edi, 0x67
lea edx, [edi + ebp*2]
mov byte [esp + eax + 0xaf3a811], dl
inc eax
dec ecx
cmp eax, 0xf50c587a
jne 0x41c6e0
mov dword [esp + 4], 0x19a71bb8
mov dword [esp + 8], 0xe557e7a4
mov dword [esp + 0xc], 0xe14de35a
mov dword [esp + 0x10], 0xed45ef49
mov dword [esp + 0x14], 0xe946eb48
mov dword [esp + 0x18], 0xf55cf743
mov dword [esp + 0x1c], 0xf149f35b
mov dword [esp + 0x20], 0xfd42ff44
mov dword [esp + 0x24], 0xf949fb58
mov dword [esp + 0x28], 0xc540c749
mov dword [esp + 0x2c], 0xc169c337
mov dword [esp + 0x30], 0xcd72cf78
mov dword [esp + 0x34], 0xc978cb67
mov dword [esp + 0x38], 0xd561d775
mov dword [esp + 0x3c], 0xd160d365
mov dword [esp + 0x40], 0xdd2bdf25
mov dword [esp + 0x44], 0xd9dadb29
mov dword [esp + 0x48], 0
lea eax, [esp + 4]
mov ecx, 0x79e2ba04
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
mov ebp, edx
and ebp, 0xfffffff6
xor ebp, 0x484349f6
mov esi, edx
xor esi, 0x484349f6
or edx, 9
and edx, esi
mov edi, ebp
xor edi, edx
not edx
and edx, ebp
add edi, ebp
sub edi, edx
xor edi, ecx
lea edx, [edi + edi]
and edx, 0x30
xor edi, 0xee
xor edx, 0x10
sub edx, edi
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x79e2b9bc
jne 0x41c7d0
mov esi, dword [esp + 0xa8]
mov ecx, dword [esi + 4]
movzx edx, word [ecx]
mov ebp, dword [esp]
mov eax, ebp
test dx, dx
je 0x41c851
add ecx, 2
mov eax, ebp
nop
nop
nop
nop
nop
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 0x41c840
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x41c881
lea edx, [esp + 6]
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 0x41c870
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41c8b1
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 0x41c8a0
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x41c8e1
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 0x41c8d0
mov word [eax], 0
mov eax, dword [esp + 0xac]
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 0x41c900
mov edx, dword [esi]
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 0x41c920
mov edi, dword [esi + 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 0x41c940
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x41c964
mov eax, 0xffffffff
jmp 0x41c96d
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.00408940
add esp, 4
mov edi, eax
mov dword [esp + 4], 0x165075d
mov dword [esp + 8], 0xd760374
mov dword [esp + 0xc], 0x9720f63
mov dword [esp + 0x10], 0x153b0b75
mov dword [esp + 0x14], 0x1714
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax + 4]
lea ecx, [eax + eax]
and ecx, 2
mov edx, eax
xor edx, 0x1c7c3c01
add edx, ecx
xor edx, esi
mov esi, 1
sub esi, edx
not esi
or esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
add dl, 0xfa
mov byte [esp + eax + 4], dl
mov edx, eax
or edx, 0xfffffffe
not eax
or eax, 1
and eax, edx
not eax
add eax, ecx
cmp eax, 0x14
jb 0x41c9b0
movzx ecx, word [esp + 4]
mov eax, edi
test cx, cx
je 0x41ca21
lea edx, [esp + 6]
mov eax, edi
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 0x41ca10
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov esi, dword [esp + 0xa8]
je 0x41ca51
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 0x41ca40
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi]
movzx edx, word [ecx]
test dx, dx
je 0x41ca81
add ecx, 2
nop
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 0x41ca70
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x41cab1
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 0x41caa0
mov word [eax], 0
mov dword [esp + 4], 0x302012a
xor eax, eax
mov ecx, eax
add cl, 0xc0
xor cl, byte [esp + eax + 4]
add cl, 0x40
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 4
jne 0x41cac0
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
push ebp
push edi
push dword [esp + 0xb8]
call fcn.0041cdf0
add esp, 0x1c
mov ebx, eax
jmp dword [0x4441c8]