Function at 0x41c5a0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x58
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x70]
mov esi, dword [eax + 4]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
cmp word [esi + edx + 2], 0
lea edx, [edx + 2]
jne 0x41c5c0
mov dword [esp + 4], esi
mov esi, dword [ecx + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x41c5e0
sar edx, 1
sar eax, 1
lea ecx, [edx + eax]
mov dword [esp + 0x50], eax
add eax, edx
add eax, 0x1b
test eax, eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ecx
mov dword [esp + 8], esi
jns 0x41c612
mov eax, 0xffffffff
jmp 0x41c619
lea eax, [ecx*2 + 0x36]
push eax
call fcn.004097b0
add esp, 4
mov dword [esp], eax
mov dword [esp + 0xc], 0x29662b78
mov dword [esp + 0x10], 0x2d8b2f99
mov dword [esp + 0x14], 0x319e338b
mov dword [esp + 0x18], 0x357d3750
mov dword [esp + 0x1c], 0x398e3b8c
mov dword [esp + 0x20], 0x3d8c3f93
mov dword [esp + 0x24], 0x1ad0389
mov dword [esp + 0x28], 0x5b407b1
mov dword [esp + 0x2c], 0x95f0b64
mov dword [esp + 0x30], 0xdba0fa3
mov dword [esp + 0x34], 0x11bd13b8
mov dword [esp + 0x38], 0x15bf17a2
mov dword [esp + 0x3c], 0x19461ba1
mov word [esp + 0x40], 0x1f18
mov dword [esp + 0x42], 0
mov byte [esp + 0x46], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0xc]
lea ecx, [eax + eax]
mov esi, ecx
and esi, 0xe
mov edx, eax
xor edx, 0x3126f187
add edx, esi
mov ebp, edx
and ebp, ebx
mov edi, ebp
or edi, 0xfffffffd
inc edi
mov esi, ebp
and esi, 0xfffffffd
imul esi, edi
mov edi, ebp
and edi, 2
or ebp, 2
imul ebp, edi
sub esi, ebp
add edx, ebx
add edx, esi
mov esi, edx
and esi, 0x5c
xor edx, 0x5c
lea edx, [edx + esi*2]
inc dl
mov byte [esp + eax + 0xc], dl
xor eax, 1
and ecx, 2
add eax, ecx
cmp eax, 0x3b
jb 0x41c6b0
mov esi, dword [esp + 4]
movzx ecx, word [esi]
mov edx, dword [esp]
mov eax, edx
test cx, cx
je 0x41c731
add esi, 2
mov eax, edx
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x41c720
mov word [eax], 0
movzx ecx, word [esp + 0xc]
test cx, cx
mov edi, dword [esp + 8]
je 0x41c763
lea edx, [esp + 0xe]
mov esi, dword [esp + 0x74]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41c750
jmp 0x41c767
mov esi, dword [esp + 0x74]
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x41c791
add edi, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x41c780
mov word [eax], 0
mov eax, dword [esp + 0x70]
mov ebp, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + eax + 2], 0
lea eax, [eax + 2]
jne 0x41c7b0
sar eax, 1
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 8]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x41c7d0
mov dword [esp + 0x48], edx
inc eax
sar ecx, 1
mov edx, ecx
and edx, eax
add edx, edx
mov edi, dword [esi]
mov esi, 0xfffffffe
nop
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x41c7f0
xor ecx, eax
sar esi, 1
add ecx, edx
lea eax, [esi + ecx]
add eax, 0xc
mov ecx, eax
and ecx, 6
xor eax, 6
lea eax, [eax + ecx*2]
test eax, eax
jns 0x41c81d
mov eax, 0xffffffff
jmp 0x41c81f
add eax, eax
mov dword [esp + 4], edi
push eax
call fcn.004097b0
add esp, 4
movzx ecx, word [ebp]
mov esi, eax
test cx, cx
je 0x41c852
add ebp, 2
mov esi, eax
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x41c840
mov dword [esp + 8], eax
mov word [esi], 0x2f
mov dword [esp + 0xc], 0x37eb390b
mov dword [esp + 0x10], 0x33be35bc
mov dword [esp + 0x14], 0xcf3c31cd
mov dword [esp + 0x18], 0xcb33cd43
mov dword [esp + 0x1c], 0xc734c93b
mov dword [esp + 0x20], 0xc3f1c54b
mov word [esp + 0x24], 0xc1c0
mov dword [esp + 0x26], 0
mov eax, 0xbdad07f6
mov ecx, 0x4252f809
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + eax + 0x4252f816]
lea edx, [eax + 0x4252f900]
or edx, eax
and edx, ebp
mov ebx, edx
and ebx, 0xfffffffd
mov edi, edx
and edi, 2
or edx, 2
imul edx, edi
xor edi, 2
imul edi, ebx
add edx, edi
lea edi, [eax + ebp]
mov ebx, ecx
sub ebx, ebp
and ebx, edx
not edx
and edx, edi
sub edx, ebx
add dl, 0x32
mov byte [esp + eax + 0x4252f816], dl
inc eax
dec ecx
cmp eax, 0xbdad0814
jne 0x41c8b0
add esi, 2
mov ecx, dword [esp + 0x48]
movzx eax, word [ecx]
test ax, ax
je 0x41c933
add ecx, 2
mov ebp, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c920
jmp 0x41c936
mov ebp, dword [esp]
mov word [esi], 0
movzx eax, word [esp + 0xc]
test ax, ax
mov edi, dword [esp + 0x74]
je 0x41c973
lea ecx, [esp + 0xe]
mov ebx, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c960
jmp 0x41c977
mov ebx, dword [esp + 8]
mov word [esi], 0
mov ecx, dword [esp + 4]
movzx eax, word [ecx]
test ax, ax
je 0x41c9a1
add ecx, 2
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41c990
mov word [esi], 0
mov dword [esp + 0xc], 0xd9dadb3a
xor eax, eax
mov ecx, eax
add cl, 0xaf
xor cl, byte [esp + eax + 0xc]
add cl, 0x95
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 4
jne 0x41c9b0
lea eax, [esp + 0xc]
push 0
push 0
push 0xc00000
push eax
push ebp
push ebx
push dword [esp + 0x84]
call fcn.00420c20
add esp, 0x1c
mov byte [esp + 0x48], al
jmp dword [0x447088]