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

Disassembly:
push 0x28
mov eax, 0x422093
call fcn.00420a4f
mov esi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x14], esi
push ebx
sub esp, 0x18
mov dword [ebp - 4], ebx
lea eax, [ebp + 0xc]
mov ecx, esp
push eax
call fcn.004051dd
mov dl, 0x5c
lea ecx, [ebp - 0x30]
call fcn.0041b40f
add esp, 0x1c
mov byte [ebp - 4], 1
mov edi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
cmp edi, eax
je 0x41300b
sub eax, edi
push 0x18
cdq
pop ecx
idiv ecx
cmp eax, 6
jb 0x412fe3
mov cl, 0x15
mov dword [ebp - 0x18], 0x70655a15
mov word [ebp - 0x14], 0x7467
mov eax, ebx
mov byte [ebp - 0x12], bl
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 5
jae 0x412d19
mov cl, byte [ebp - 0x18]
jmp 0x412d0a
push ecx
lea eax, [ebp - 0x17]
mov byte [ebp - 0x12], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.004065de
cmp eax, 0xffffffff
je 0x412d64
mov cl, 0x50
mov dword [ebp - 0x18], 0x35201f50
mov word [ebp - 0x14], 0x3122
mov eax, ebx
mov byte [ebp - 0x12], bl
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 5
jae 0x412d51
mov cl, byte [ebp - 0x18]
jmp 0x412d42
mov byte [ebp - 0x12], bl
lea eax, [ebp - 0x17]
push eax
mov ecx, esi
call fcn.0040406a
jmp 0x41301f
push 8
mov cl, 0x5c
mov dword [ebp - 0x1e], 0x38322934
pop ebx
mov byte [ebp - 0x20], cl
xor eax, eax
mov byte [ebp - 0x1f], bl
mov dword [ebp - 0x1a], 0x353e2e39
mov word [ebp - 0x16], 0x382e
mov byte [ebp - 0x14], 0
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 0xb
jae 0x412d98
mov cl, byte [ebp - 0x20]
jmp 0x412d89
push ecx
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x14], 0
push eax
lea ecx, [ebp + 0xc]
call fcn.004065de
cmp eax, 0xffffffff
je 0x412df2
mov byte [ebp - 0x20], bl
xor ecx, ecx
mov dword [ebp - 0x1f], 0x767d705c
mov dword [ebp - 0x1b], 0x6a7a6d6c
mov dword [ebp - 0x17], 0x6c7a71
movsx eax, bl
and eax, 0x8000000f
jns 0x412dd7
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xb
jae 0x412de6
mov bl, byte [ebp - 0x20]
jmp 0x412dc8
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x1f]
jmp 0x412d57
xor edx, edx
mov dword [ebp - 0x1c], 0xc192f78
mov cl, 0x78
mov dword [ebp - 0x18], 0x171e0a1d
mov word [ebp - 0x14], dx
mov eax, edx
xor byte [ebp + eax - 0x1b], cl
inc eax
cmp eax, ebx
jae 0x412e18
mov cl, byte [ebp - 0x1c]
jmp 0x412e0a
push ecx
lea eax, [ebp - 0x1b]
mov byte [ebp - 0x13], dl
push eax
lea ecx, [ebp + 0xc]
call fcn.004065de
cmp eax, 0xffffffff
je 0x412e6e
mov al, 0x61
mov dword [ebp - 0x1c], 0x75625861
mov dword [ebp - 0x18], 0x70677366
xor ecx, ecx
mov word [ebp - 0x14], 0x79
movsx eax, al
and eax, 0x8000000f
jns 0x412e54
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, ebx
jae 0x412e62
mov al, byte [ebp - 0x1c]
jmp 0x412e45
mov byte [ebp - 0x13], 0
lea eax, [ebp - 0x1b]
jmp 0x412d57
movaps xmm0, xmmword [0x402930]
xor ebx, ebx
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x68776c
mov ecx, ebx
movsx eax, byte [ebp - 0x24]
and eax, 0x8000000f
jns 0x412e94
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0x12
jb 0x412e84
push ecx
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.004065de
cmp eax, 0xffffffff
jne 0x412fde
movaps xmm0, xmmword [0x402050]
mov ecx, ebx
movups xmmword [ebp - 0x20], xmm0
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xe
jb 0x412ec4
push ecx
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x11], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.004065de
cmp eax, 0xffffffff
jne 0x412fde
mov al, 0x2c
mov dword [ebp - 0x20], 0x737b782c
mov dword [ebp - 0x1c], 0x3a7f7a75
mov ecx, ebx
mov dword [ebp - 0x18], 0x7a7b7f76
mov byte [ebp - 0x14], bl
movsx eax, al
and eax, 0x8000000f
jns 0x412f15
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xb
jae 0x412f24
mov al, byte [ebp - 0x20]
jmp 0x412f06
push ecx
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x14], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.004065de
cmp eax, 0xffffffff
jne 0x412fde
movaps xmm0, xmmword [0x402080]
mov ecx, ebx
movups xmmword [ebp - 0x20], xmm0
movsx eax, byte [ebp - 0x20]
and eax, 0x8000000f
jns 0x412f5a
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xe
jb 0x412f4a
push ecx
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x11], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.004065de
cmp eax, 0xffffffff
jne 0x412fde
mov al, 0x66
mov dword [ebp - 0x20], 0x67727666
mov dword [ebp - 0x1c], 0x34796b69
mov ecx, ebx
mov dword [ebp - 0x18], 0x6f727779
mov word [ebp - 0x14], 0x6b7a
mov byte [ebp - 0x12], bl
movsx eax, al
and eax, 0x8000000f
jns 0x412faa
dec eax
or eax, 0xfffffff0
inc eax
sub byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xd
jae 0x412fb9
mov al, byte [ebp - 0x20]
jmp 0x412f9b
push ecx
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x12], bl
push eax
lea ecx, [ebp + 0xc]
call fcn.004065de
cmp eax, 0xffffffff
jne 0x412fde
lea eax, [edi + 0x90]
push eax
mov ecx, esi
call fcn.004051dd
jmp 0x41301f
lea eax, [edi + 0x78]
jmp 0x412fd4
movaps xmm0, xmmword [0x402160]
mov ecx, ebx
movups xmmword [ebp - 0x24], xmm0
mov byte [ebp - 0x14], bl
mov al, byte [ebp - 0x24]
xor byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0xf
jb 0x412ff3
mov byte [ebp - 0x14], bl
lea eax, [ebp - 0x23]
jmp 0x412d57
mov edi, esi
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], 0xf
mov byte [esi], bl
lea ecx, [ebp - 0x30]
call fcn.004066e2
lea ecx, [ebp + 0xc]
call fcn.0040400e
mov eax, esi
call fcn.00420a0d
ret 0x1c