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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42c687
mov eax, dword fs:[0]
push eax
sub esp, 0x154
mov eax, dword [0x43d054]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x118], 0
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x11c], 0x455d4f5a
mov dword [ebp - 0x118], 0x2e5c4943
mov esi, dword [eax]
mov eax, dword [0x450ebc]
cmp eax, dword [esi + 4]
jle 0x406be8
push 0x450ebc
call fcn.0040fac8
add esp, 4
cmp dword [0x450ebc], 0xffffffff
jne 0x406be8
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push 0x42cf40
mov dword [0x450d40], eax
mov dword [0x450d44], ecx
call fcn.0040fdda
add esp, 4
push 0x450ebc
call fcn.0040fa7e
add esp, 4
mov al, byte [0x450d47]
test al, al
je 0x406c29
xor byte [0x450d40], 0x2e
xor byte [0x450d41], 0x2e
xor byte [0x450d42], 0x2e
xor byte [0x450d43], 0x2e
xor byte [0x450d44], 0x2e
xor byte [0x450d45], 0x2e
xor byte [0x450d46], 0x2e
xor al, 0x2e
mov byte [0x450d47], al
sub esp, 0x18
mov ecx, 0x450d40
mov edx, esp
lea edi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406c50
sub ecx, edi
push ecx
push 0x450d40
mov ecx, edx
call fcn.004032c0
call fcn.00405f50
add esp, 0x18
test al, al
jne 0x4071ae
mov eax, dword [0x450fa0]
mov dword [ebp - 0x11c], 0x455d4f7a
mov dword [ebp - 0x118], 0x2e5c4943
cmp eax, dword [esi + 4]
jle 0x406cde
push 0x450fa0
call fcn.0040fac8
add esp, 4
cmp dword [0x450fa0], 0xffffffff
jne 0x406cde
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push 0x42cf30
mov dword [0x450f6c], eax
mov dword [0x450f70], ecx
call fcn.0040fdda
add esp, 4
push 0x450fa0
call fcn.0040fa7e
add esp, 4
mov al, byte [0x450f73]
test al, al
je 0x406d1f
xor byte [0x450f6c], 0x2e
xor byte [0x450f6d], 0x2e
xor byte [0x450f6e], 0x2e
xor byte [0x450f6f], 0x2e
xor byte [0x450f70], 0x2e
xor byte [0x450f71], 0x2e
xor byte [0x450f72], 0x2e
xor al, 0x2e
mov byte [0x450f73], al
sub esp, 0x18
mov ecx, 0x450f6c
mov edx, esp
lea edi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406d40
sub ecx, edi
push ecx
push 0x450f6c
mov ecx, edx
call fcn.004032c0
call fcn.00405f50
add esp, 0x18
test al, al
jne 0x4071ae
mov eax, dword [0x450f74]
mov dword [ebp - 0x11c], 0x4b5c4759
mov dword [ebp - 0x118], 0x5c4f465d
mov word [ebp - 0x114], 0x2e45
cmp eax, dword [esi + 4]
jle 0x406ddd
push 0x450f74
call fcn.0040fac8
add esp, 4
cmp dword [0x450f74], 0xffffffff
jne 0x406ddd
movq xmm0, qword [ebp - 0x11c]
mov ax, word [ebp - 0x114]
push 0x42cf10
movq qword [0x450d60], xmm0
mov word [0x450d68], ax
call fcn.0040fdda
add esp, 4
push 0x450f74
call fcn.0040fa7e
add esp, 4
mov al, byte [0x450d69]
test al, al
je 0x406e2c
xor byte [0x450d60], 0x2e
xor byte [0x450d61], 0x2e
xor byte [0x450d62], 0x2e
xor byte [0x450d63], 0x2e
xor byte [0x450d64], 0x2e
xor byte [0x450d65], 0x2e
xor byte [0x450d66], 0x2e
xor byte [0x450d67], 0x2e
xor byte [0x450d68], 0x2e
xor al, 0x2e
mov byte [0x450d69], al
sub esp, 0x18
mov ecx, 0x450d60
mov edx, esp
lea edi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406e50
sub ecx, edi
push ecx
push 0x450d60
mov ecx, edx
call fcn.004032c0
call fcn.00405f50
add esp, 0x18
test al, al
jne 0x4071ae
call dword [0x42e1ec]
test eax, eax
je 0x4071aa
push 0x100
lea ecx, [ebp - 0x110]
push ecx
push eax
call dword [0x42e1f4]
mov eax, dword [0x450f9c]
mov bl, 0x2e
mov dword [ebp - 0x12c], 0x4d415c7e
mov dword [ebp - 0x128], 0xe5d5d4b
mov dword [ebp - 0x124], 0x454d4f66
mov word [ebp - 0x120], 0x5c4b
cmp eax, dword [esi + 4]
jle 0x406f2b
push 0x450f9c
call fcn.0040fac8
add esp, 4
cmp dword [0x450f9c], 0xffffffff
jne 0x406f2b
mov eax, dword [ebp - 0x124]
movq xmm0, qword [ebp - 0x12c]
mov dword [0x450f4c], eax
mov ax, word [ebp - 0x120]
push 0x42cee0
movq qword [0x450f44], xmm0
mov word [0x450f50], ax
mov byte [0x450f52], bl
call fcn.0040fdda
add esp, 4
push 0x450f9c
call fcn.0040fa7e
add esp, 4
cmp byte [0x450f52], 0
je 0x406f42
xor eax, eax
xor byte [eax + 0x450f44], bl
inc eax
cmp eax, 0xf
jb 0x406f36
mov ecx, 0x450f44
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0xf
mov byte [ebp - 0x160], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406f70
sub ecx, edx
push ecx
push 0x450f44
lea ecx, [ebp - 0x160]
call fcn.004032c0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x160]
cmp dword [ebp - 0x14c], 0x10
mov ebx, 1
mov dword [ebp - 0x118], ebx
cmovae eax, dword [ebp - 0x160]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.00410d60
add esp, 8
test eax, eax
jne 0x407102
mov eax, dword [0x450f40]
mov dword [ebp - 0x128], 0x4b5c4779
mov dword [ebp - 0x124], 0x5c4f465d
mov word [ebp - 0x120], 0x2e45
cmp eax, dword [esi + 4]
jle 0x40703f
push 0x450f40
call fcn.0040fac8
add esp, 4
cmp dword [0x450f40], 0xffffffff
jne 0x40703f
movq xmm0, qword [ebp - 0x128]
mov ax, word [ebp - 0x120]
push 0x42cec0
movq qword [0x450fc8], xmm0
mov word [0x450fd0], ax
call fcn.0040fdda
add esp, 4
push 0x450f40
call fcn.0040fa7e
add esp, 4
mov al, byte [0x450fd1]
test al, al
je 0x40708e
xor byte [0x450fc8], 0x2e
xor byte [0x450fc9], 0x2e
xor byte [0x450fca], 0x2e
xor byte [0x450fcb], 0x2e
xor byte [0x450fcc], 0x2e
xor byte [0x450fcd], 0x2e
xor byte [0x450fce], 0x2e
xor byte [0x450fcf], 0x2e
xor byte [0x450fd0], 0x2e
xor al, 0x2e
mov byte [0x450fd1], al
mov ecx, 0x450fc8
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4070b4
sub ecx, edx
push ecx
push 0x450fc8
lea ecx, [ebp - 0x148]
call fcn.004032c0
cmp dword [ebp - 0x134], 0x10
lea eax, [ebp - 0x148]
mov ebx, 3
cmovae eax, dword [ebp - 0x148]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.00410d60
add esp, 8
mov byte [ebp - 0x12d], 0
test eax, eax
je 0x407109
mov byte [ebp - 0x12d], 1
test bl, 2
je 0x407166
mov edx, dword [ebp - 0x134]
and ebx, 0xfffffffd
cmp edx, 0x10
jb 0x40714b
mov ecx, dword [ebp - 0x148]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407141
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4071cc
push edx
push ecx
call fcn.0040f97f
add esp, 8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
test bl, 1
je 0x4071a1
mov edx, dword [ebp - 0x14c]
cmp edx, 0x10
jb 0x4071a1
mov ecx, dword [ebp - 0x160]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407197
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4071cc
push edx
push ecx
call fcn.0040f97f
add esp, 8
cmp byte [ebp - 0x12d], 0
jne 0x4071ae
xor al, al
jmp 0x4071b0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040f73f
mov esp, ebp
pop ebp
ret
call fcn.004140a7
int3