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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov eax, dword [eax + 4]
lea ecx, [eax - 2]
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, 2
cmp word [edx], 0
lea edx, [edx + 2]
jne 0x41c2f0
mov edx, ecx
xor edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
xor ecx, ecx
nop
nop
nop
nop
nop
nop
cmp word [ebx + ecx], 0
lea ecx, [ecx + 2]
jne 0x41c310
sar eax, 1
lea edx, [ebx + ecx]
add edx, 0xfffffffe
mov ecx, ebx
not ecx
and ecx, edx
xor edx, ebx
add ecx, ecx
sub ecx, edx
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x41c341
mov eax, 0xffffffff
jmp 0x41c34a
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.00408680
add esp, 4
mov ebp, eax
mov dword [esp + 0x4c], 0x21a92742
mov dword [esp + 0x50], 0x5dbd23ad
mov dword [esp + 0x54], 0x59235fce
mov dword [esp + 0x58], 0x55cc5bc9
mov dword [esp + 0x5c], 0x51c957d8
mov dword [esp + 0x60], 0x4dde53d8
mov dword [esp + 0x64], 0x49d24f37
mov dword [esp + 0x68], 0x45064b0f
mov dword [esp + 0x6c], 0x410d4716
mov dword [esp + 0x70], 0x7d09430c
mov dword [esp + 0x74], 0x79377f32
mov dword [esp + 0x78], 0x75317b2a
mov dword [esp + 0x7c], 0x7112773b
mov dword [esp + 0x80], 0x6dee73eb
mov dword [esp + 0x84], 0x696e6f0e
mov dword [esp + 0x88], 0
xor eax, eax
mov ecx, eax
add cl, 0xb9
xor cl, byte [esp + eax + 0x4c]
add cl, 0x63
mov byte [esp + eax + 0x4c], cl
inc eax
cmp eax, 0x40
jne 0x41c3e0
mov dword [esp + 4], 0x8331815c
mov dword [esp + 8], 0x87298530
mov dword [esp + 0xc], 0x8b2b893a
mov dword [esp + 0x10], 0x8f2b8d2b
mov dword [esp + 0x14], 0x9336914c
mov dword [esp + 0x18], 0x97309531
mov dword [esp + 0x1c], 0x9b2f9939
mov dword [esp + 0x20], 0x9f2a9d30
mov dword [esp + 0x24], 0x63cf61bc
mov dword [esp + 0x28], 0x67dc65cb
mov dword [esp + 0x2c], 0x6bcf6985
mov dword [esp + 0x30], 0x6fda6dd4
mov dword [esp + 0x34], 0x73dc71d5
mov dword [esp + 0x38], 0x77df75c7
mov dword [esp + 0x3c], 0x7bd479d7
mov dword [esp + 0x40], 0x7f957d97
mov dword [esp + 0x44], 0x434241ab
mov byte [esp + 0x4a], 0
mov word [esp + 0x48], 0
mov eax, 0x701e68e0
mov ecx, 0x1f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x701e68dc]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
mov esi, edx
xor esi, 0x1edffe5c
and edx, 0xe00001a3
add edx, edx
sub edx, esi
add edx, 0xee47f1fb
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + eax - 0x701e68dc], dl
inc eax
dec ecx
cmp eax, 0x701e6927
jne 0x41c4a0
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 4]
movzx edx, word [ecx]
mov eax, ebp
test dx, dx
je 0x41c511
add ecx, 2
mov eax, ebp
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41c500
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x41c541
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 0x41c530
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x41c571
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 0x41c560
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x41c5a1
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 0x41c590
mov word [eax], 0
mov esi, dword [edi]
xor eax, eax
nop
nop
nop
nop
nop
nop
cmp word [esi + eax], 0
lea eax, [eax + 2]
jne 0x41c5b0
mov dword [esp], ebp
lea ecx, [esi + eax]
add ecx, 0xfffffffe
mov eax, esi
not eax
and eax, ecx
xor ecx, esi
add eax, eax
sub eax, ecx
sar eax, 1
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
lea edx, [ecx - 2]
mov edi, ecx
nop
add edx, 2
cmp word [edi], 0
lea edi, [edi + 2]
jne 0x41c5e0
mov edi, edx
xor edi, ecx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, edi
sar ecx, 1
lea edx, [eax + ecx]
lea edi, [eax + ecx]
add edi, 0xa
lea ecx, [edx*2 + 0x14]
xor edi, 1
mov eax, dword [esp + 0xa8]
mov ebp, dword [eax + 8]
lea edx, [ebp - 2]
mov eax, ebp
nop
nop
nop
nop
add edx, 2
cmp word [eax], 0
lea eax, [eax + 2]
jne 0x41c620
and ecx, 2
add ecx, edi
mov eax, edx
xor eax, ebp
not ebp
and ebp, edx
add ebp, ebp
sub ebp, eax
sar ebp, 1
add ebp, ecx
jns 0x41c64a
mov ebp, 0xffffffff
jmp 0x41c64c
add ebp, ebp
push ebp
call fcn.00408680
add esp, 4
mov edi, eax
mov dword [esp + 4], 0x3f9f3983
mov dword [esp + 8], 0x238e3d90
mov dword [esp + 0xc], 0x27b22185
mov dword [esp + 0x10], 0x2b7925b3
mov dword [esp + 0x14], 0x2928
mov eax, 0xfc4d0e8a
mov ecx, 0x75
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0x3b2f17a]
mov edx, ecx
xor edx, eax
and edx, ebx
xor edx, eax
add edx, 0x127eb74d
mov ebx, edx
xor ebx, 0xfe
or edx, 1
and ebx, edx
add ebx, edx
mov byte [esp + eax + 0x3b2f17a], bl
inc eax
dec ecx
cmp eax, 0xfc4d0e9e
jne 0x41c690
movzx ecx, word [esp + 4]
mov eax, edi
test cx, cx
mov ebp, dword [esp]
je 0x41c6f1
lea edx, [esp + 6]
mov eax, edi
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c6e0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x41c721
add esi, 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 [esi]
add esi, 2
test cx, cx
jne 0x41c710
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [esp + 0xa8]
mov ecx, dword [ecx]
movzx edx, word [ecx]
test dx, dx
je 0x41c751
add ecx, 2
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41c740
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 0x41c781
add ecx, 2
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x41c770
mov word [eax], 0
mov dword [esp + 4], 0xb7b689de
mov eax, 0x9e
mov ecx, 0x61
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x9a]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0xea
mov byte [esp + eax - 0x9a], dl
inc eax
dec ecx
cmp ecx, 0x5d
jne 0x41c7a0
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
push ebp
push edi
push dword [esp + 0xb8]
call fcn.0041cac0
add esp, 0x1c
mov ebx, eax
jmp dword [0x440fe0]