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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x160
mov dword [esp + 8], 0xc383c1a5
mov dword [esp + 0xc], 0xc776c574
mov dword [esp + 0x10], 0xcb6bc98c
mov dword [esp + 0x14], 0xcf6fcd78
mov dword [esp + 0x18], 0xd3d2d1b5
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x98], 0
mov ecx, dword [esp + 0x98]
cmp ecx, 0x1b
ja 0x422c00
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
movzx edx, byte [esp + edx + 8]
lea esi, [ecx + edx]
add esi, 0xad83dc60
add ecx, 0xad83dc60
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc8], esi
mov ecx, dword [esp + 0xc8]
mov edx, ecx
or edx, 0x5f
and ecx, 0x5f
add ecx, edx
inc cl
mov edx, dword [esp + 0x98]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
cmp ecx, 0x1c
jb 0x422ba0
lea esi, [esp + 0x132]
lea edx, [esp + 8]
mov ecx, 5
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x146]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x94]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x448c5c]
mov ebx, dword [esp + 0x94]
test ebx, ebx
jns 0x422c4f
mov eax, 0xffffffff
jmp 0x422c52
lea eax, [ebx + ebx]
push eax
call fcn.00408d00
add esp, 4
push edi
push ebx
mov dword [esp + 0x84], eax
push eax
push 9
push esi
push 0
call dword [0x448c5c]
mov dword [esp + 8], 0xb32bb174
mov dword [esp + 0xc], 0xb715b527
mov dword [esp + 0x10], 0xab38a937
mov dword [esp + 0x14], 0xafaead08
lea esi, [esp + 0x18]
mov dword [esp + 0x18], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x98], 0
mov eax, dword [esp + 0x98]
cmp eax, 0x14
ja 0x422d10
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + 0x43e91648]
add eax, 0x48
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esp + 0xc8], edx
mov eax, dword [esp + 0xc8]
add al, 8
mov ecx, dword [esp + 0x98]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x98]
mov eax, dword [esp + 0x98]
cmp eax, 0x15
jb 0x422cc0
lea edi, [esp + 0x122]
lea edx, [esp + 8]
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x132]
mov edx, esi
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 8], 0x2b4b2562
mov dword [esp + 0xc], 0x2f4d295f
mov dword [esp + 0x10], 0x335a2d5f
mov dword [esp + 0x14], 0x37753156
mov dword [esp + 0x18], 0x3b463551
mov dword [esp + 0x1c], 0x3f4e395d
mov dword [esp + 0x20], 0x433c3d41
lea esi, [esp + 0x24]
mov dword [esp + 0x24], 0
mov dword [esp + 0x27], 0
mov dword [esp + 0x98], 0
mov ecx, dword [esp + 0x98]
cmp ecx, 0x22
ja 0x422e08
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x98]
movzx edi, byte [esp + edx + 8]
lea ebx, [ecx - 0x53fc3db]
lea edx, [ecx + edi]
add edx, 0xfac03c25
add ecx, 0x25
or ecx, ebx
and ebx, edi
and ecx, edi
add ecx, ebx
mov edi, ecx
not edi
and edi, edx
add edi, edi
xor ecx, edx
sub edi, ecx
mov dword [esp + 0xc8], edi
mov ecx, dword [esp + 0xc8]
add cl, 0xfd
mov edx, dword [esp + 0x98]
mov byte [esp + edx + 8], cl
inc dword [esp + 0x98]
mov ecx, dword [esp + 0x98]
cmp ecx, 0x23
jb 0x422da0
lea edx, [esp + 0x98]
lea ebx, [esp + 8]
mov edi, edx
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xb4]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 8], 0x833b815a
mov dword [esp + 0xc], 0x9f219d0f
mov dword [esp + 0x10], 0x9b2a992f
mov dword [esp + 0x14], 0x97449526
mov dword [esp + 0x18], 0x9352913a
lea ebx, [esp + 0x1c]
mov word [esp + 0x1c], 0x6d92
mov dword [esp + 0x1e], 0
mov dword [esp + 0x22], 0
mov word [esp + 0x26], 0
mov dword [esp + 0xf8], 0
mov ecx, dword [esp + 0xf8]
cmp ecx, 0x1f
ja 0x422efe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0xf8]
mov esi, dword [esp + 0xf8]
movzx esi, byte [esp + esi + 8]
lea edi, [ecx + 0x6b]
mov eax, 0x94
sub eax, ecx
and eax, edi
and edi, esi
and eax, esi
add ecx, esi
lea eax, [eax + edi*2]
sub ecx, eax
add ecx, 0x11b8ee6b
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0xc8]
add al, 0x13
mov ecx, dword [esp + 0xf8]
mov byte [esp + ecx + 8], al
inc dword [esp + 0xf8]
mov eax, dword [esp + 0xf8]
cmp eax, 0x20
jb 0x422ea0
lea esi, [esp + 0x146]
lea eax, [esp + 8]
mov ecx, 5
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x15a]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x122]
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], edx
mov dword [esp + 0x11c], esi
mov eax, dword [esp + 0x7c]
add eax, 2
mov dword [esp + 0xb4], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x80], 0
cmp ecx, 3
setne al
mov eax, dword [eax*4 + 0x443b88]
mov ecx, 0x104d582a
xor ecx, dword [0x443b90]
add eax, ecx
inc eax
xor ebx, ebx
jmp eax