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

Disassembly:
sub esp, 0x4dc
push ebx
push ebp
push esi
push edi
push 0x4a
mov ebx, ecx
mov dword [esp + 0x24], 0xb3abb78f
mov edi, edx
mov byte [esp + 0x28], 0xb6
xor esi, esi
mov ebp, 0xff
pop ecx
movzx eax, byte [esp + esi + 0x20]
sub ax, cx
and ax, bp
mov word [esp + esi*2 + 0x60], ax
inc esi
cmp esi, 5
jl 0x41c606
mov cl, byte [0x42baec]
lea edx, [esp + 0x60]
xor eax, eax
mov word [esp + 0x6a], ax
movzx eax, cl
add cl, 0x9a
sub eax, 0x648056a9
mov byte [0x42baec], cl
push 0
mov dword [0x42bae0], eax
lea eax, [esp + 0xf0]
push ecx
push eax
mov ecx, ebx
call fcn.0041cb2e
add esp, 0xc
test al, al
je 0x41cb23
mov dword [esp + 0x20], 0x89818d65
xor ecx, ecx
mov word [esp + 0x24], 0x5a8c
mov byte [esp + 0x26], 0x40
mov al, byte [esp + ecx + 0x20]
sub al, 0x20
mov byte [esp + ecx + 0x50], al
inc ecx
cmp ecx, 7
jl 0x41c676
push 0xb
mov byte [esp + 0x5b], 0
xor ecx, ecx
mov dword [esp + 0x14], 0xf3f7f0f6
mov dword [esp + 0x18], 0x1508f6c3
mov word [esp + 0x1c], 0x819
mov byte [esp + 0x1e], 0x15
pop edx
movzx eax, byte [esp + ecx + 0x10]
add ax, 0x5d
and ax, bp
mov word [esp + ecx*2 + 0x80], ax
inc ecx
cmp ecx, edx
jl 0x41c6ac
push 0x7f
pop edx
xor eax, eax
mov dword [esp + 0x10], 0xb4d1d0d1
push 0xd
mov word [esp + 0x9a], ax
xor ecx, ecx
mov dword [esp + 0x18], 0xf4e2d1a1
mov dword [esp + 0x1c], 0xf3f0f8f4
mov byte [esp + 0x20], 0xe5
pop esi
movzx eax, byte [esp + ecx + 0x10]
add ax, dx
and ax, bp
mov word [esp + ecx*2 + 0x98], ax
inc ecx
cmp ecx, esi
jl 0x41c6f4
xor eax, eax
mov dword [esp + 0x28], 0xbebe8b8e
mov word [esp + 0xb2], ax
xor ecx, ecx
mov dword [esp + 0x2c], 0xbebebebe
mov dword [esp + 0x30], 0xbebebebe
mov dword [esp + 0x34], 0xbebebebe
mov word [esp + 0x38], 0x8ebe
mov byte [esp + 0x3a], 0x8b
mov al, byte [esp + ecx + 0x28]
add al, 0x7f
mov byte [esp + ecx + 0x6c], al
inc ecx
cmp ecx, 0x13
jl 0x41c744
movzx eax, byte [0x42baec]
lea edx, [esp + 0x50]
xor eax, 0xeae3dd2a
mov byte [esp + 0x7f], 0
push 0xffffffffffffffff
mov ecx, edi
mov dword [0x42bae0], eax
call fcn.00423aea
mov al, byte [0x42bae0]
lea edx, [esp + 0xf0]
pop ecx
add al, 0x57
mov ecx, edi
mov byte [0x42baec], al
call fcn.004230c9
mov al, byte [0x42baec]
lea edx, [esp + 0x80]
or al, 0x6d
sub al, 0x49
push 0
mov byte [0x42baec], al
lea eax, [esp + 0xf0]
push ecx
push eax
mov ecx, ebx
call fcn.0041cb2e
add esp, 0xc
test al, al
je 0x41c849
mov dword [esp + 0x20], 0x2f084a4d
xor ecx, ecx
mov dword [esp + 0x24], 0x607a3433
mov al, byte [esp + ecx + 0x20]
xor al, 0x40
mov byte [esp + ecx + 0x44], al
inc ecx
cmp ecx, 8
jl 0x41c7d6
mov ecx, dword [0x42bae0]
lea edx, [esp + 0x44]
add ecx, 0xeeccf10c
mov byte [esp + 0x4c], 0
movzx eax, cl
or ecx, 0xa76d3250
imul eax, eax, 0xd6
mov dword [0x42bae0], ecx
mov ecx, edi
push 0xffffffffffffffff
mov byte [0x42baec], al
call fcn.00423aea
mov eax, dword [0x42bae0]
lea edx, [esp + 0xf0]
sub eax, 0x6172c9cc
mov dword [0x42bae0], eax
or al, 0x5e
movzx eax, al
imul eax, eax, 0x58
pop ecx
mov ecx, edi
mov byte [0x42baec], al
call fcn.004230c9
mov al, byte [0x42baec]
lea edx, [esp + 0x98]
sub al, 0x19
movzx eax, al
sub eax, 0x33832d33
and eax, 0xb19abfc5
mov dword [0x42bae0], eax
xor al, 0x8e
mov byte [0x42baec], al
lea eax, [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0xf4]
mov ecx, ebx
push eax
call fcn.0041cb2e
add esp, 0xc
test al, al
jne 0x41ca3e
mov dword [esp + 0x10], 0x3121e1a
xor ecx, ecx
mov dword [esp + 0x14], 0x20320373
mov dword [esp + 0x18], 0x213c2420
mov byte [esp + 0x1c], 0x37
mov al, byte [esp + ecx + 0x10]
xor al, 0x53
movzx eax, al
mov word [esp + ecx*2 + 0x28], ax
inc ecx
cmp ecx, esi
jl 0x41c8af
xor eax, eax
lea edx, [esp + 0x28]
mov word [esp + 0x42], ax
mov al, byte [0x42bae0]
and al, 0x10
or al, 0xca
xor al, 0xc6
mov byte [0x42baec], al
movzx eax, al
or eax, 0x72b74a69
mov dword [0x42bae0], eax
lea eax, [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0xf4]
mov ecx, ebx
push eax
call fcn.0041cb2e
add esp, 0xc
test al, al
jne 0x41ca33
mov dword [esp + 0x10], 0x60646458
xor ecx, ecx
mov dword [esp + 0x14], 0x83716030
mov dword [esp + 0x18], 0x827f8783
mov byte [esp + 0x1c], 0x74
movzx eax, byte [esp + ecx + 0x10]
sub ax, 0x10
and ax, bp
mov word [esp + ecx*2 + 0xb4], ax
inc ecx
cmp ecx, esi
jl 0x41c929
xor eax, eax
lea edx, [esp + 0xb4]
mov word [esp + 0xce], ax
mov al, byte [0x42baec]
movzx ecx, al
xor al, 0x72
mov byte [0x42baec], al
imul eax, ecx, 0x77f4dc71
mov ecx, 0x7aea8a61
sub ecx, eax
lea eax, [esp + 0x20]
xor ecx, 0x3117acda
push eax
push ecx
lea eax, [esp + 0xf4]
mov dword [0x42bae0], ecx
push eax
mov ecx, ebx
call fcn.0041cb2e
add esp, 0xc
test al, al
jne 0x41ca2f
push 0xb
mov dword [esp + 0x14], 0x45494248
xor ecx, ecx
mov dword [esp + 0x18], 0x68564515
mov dword [esp + 0x1c], 0x67646c68
mov byte [esp + 0x20], 0x59
pop edx
movzx eax, byte [esp + ecx + 0x10]
add ax, dx
and ax, bp
mov word [esp + ecx*2 + 0xd0], ax
inc ecx
cmp ecx, esi
jl 0x41c9bd
xor eax, eax
lea edx, [esp + 0xd0]
mov word [esp + 0xea], ax
mov al, byte [0x42baec]
add al, 0xcc
mov byte [0x42baec], al
movzx eax, al
imul eax, eax, 0x50a27b28
mov dword [0x42bae0], eax
lea eax, [esp + 0x20]
push eax
push ecx
lea eax, [esp + 0xf4]
mov ecx, ebx
push eax
call fcn.0041cb2e
add esp, 0xc
test al, al
je 0x41cb04
movzx eax, byte [0x42baec]
imul eax, eax, 0x95
jmp 0x41ca45
mov al, 0x86
jmp 0x41ca45
mov al, byte [0x42bae0]
xor al, 0xe4
add al, 0x3b
jmp 0x41ca45
mov al, byte [0x42baec]
xor al, 0x1d
sub al, 0x6a
lea ecx, [esp + 0xed]
mov dword [esp + 0x5c], ecx
xor ebx, ebx
movzx ecx, al
mov edx, 0xbedfd981
mov eax, dword [esp + 0x20]
or ecx, 0xdc6ca28b
mov dword [esp + 0x58], eax
movzx eax, cl
imul eax, eax, 0x72
mov dword [0x42bae0], ecx
mov byte [0x42baec], al
lea eax, [esp + 0x44]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [esp + 0x70]
push eax
push 3
pop ecx
call fcn.0041568d
call eax
test eax, eax
je 0x41cb04
mov dword [esp + 0x20], 0x7e57191c
mov ecx, ebx
mov dword [esp + 0x24], 0x2f498382
mov al, byte [esp + ecx + 0x20]
sub al, 0xf
mov byte [esp + ecx + 0x10], al
inc ecx
cmp ecx, 8
jl 0x41caaa
mov eax, dword [0x42bae0]
lea edx, [esp + 0x10]
or eax, 0x179096ee
mov byte [esp + 0x18], bl
mov dword [0x42bae0], eax
mov ecx, edi
add al, 0x4e
push 0xffffffffffffffff
mov byte [0x42baec], al
call fcn.00423aea
movzx eax, byte [0x42bae0]
mov ecx, edi
push dword [esp + 0x48]
mov edx, dword [esp + 0x50]
imul eax, eax, 0x98
mov byte [0x42baec], al
call fcn.00423aea
pop ecx
pop ecx
movzx eax, byte [0x42baec]
lea edx, [esp + 0x6c]
xor eax, 0x2e4d5ce1
mov ecx, edi
push 0xffffffffffffffff
mov dword [0x42bae0], eax
call fcn.00423aea
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4dc
ret