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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42cab7
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 [0x450f14]
cmp eax, dword [esi + 4]
jle 0x406be8
push 0x450f14
call fcn.0040fef9
add esp, 4
cmp dword [0x450f14], 0xffffffff
jne 0x406be8
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push 0x42d3e0
mov dword [0x450d60], eax
mov dword [0x450d64], ecx
call fcn.0041020b
add esp, 4
push 0x450f14
call fcn.0040feaf
add esp, 4
mov al, byte [0x450d67]
test al, al
je 0x406c29
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 al, 0x2e
mov byte [0x450d67], 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 word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406c50
sub ecx, edi
push ecx
push 0x450d60
mov ecx, edx
call fcn.004032b0
call fcn.00405f50
add esp, 0x18
test al, al
jne 0x4071ae
mov eax, dword [0x451000]
mov dword [ebp - 0x11c], 0x455d4f7a
mov dword [ebp - 0x118], 0x2e5c4943
cmp eax, dword [esi + 4]
jle 0x406cde
push 0x451000
call fcn.0040fef9
add esp, 4
cmp dword [0x451000], 0xffffffff
jne 0x406cde
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push 0x42d3d0
mov dword [0x450fcc], eax
mov dword [0x450fd0], ecx
call fcn.0041020b
add esp, 4
push 0x451000
call fcn.0040feaf
add esp, 4
mov al, byte [0x450fd3]
test al, al
je 0x406d1f
xor byte [0x450fcc], 0x2e
xor byte [0x450fcd], 0x2e
xor byte [0x450fce], 0x2e
xor byte [0x450fcf], 0x2e
xor byte [0x450fd0], 0x2e
xor byte [0x450fd1], 0x2e
xor byte [0x450fd2], 0x2e
xor al, 0x2e
mov byte [0x450fd3], al
sub esp, 0x18
mov ecx, 0x450fcc
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 0x450fcc
mov ecx, edx
call fcn.004032b0
call fcn.00405f50
add esp, 0x18
test al, al
jne 0x4071ae
mov eax, dword [0x450fdc]
mov dword [ebp - 0x11c], 0x4b5c4759
mov dword [ebp - 0x118], 0x5c4f465d
mov word [ebp - 0x114], 0x2e45
cmp eax, dword [esi + 4]
jle 0x406ddd
push 0x450fdc
call fcn.0040fef9
add esp, 4
cmp dword [0x450fdc], 0xffffffff
jne 0x406ddd
movq xmm0, qword [ebp - 0x11c]
mov ax, word [ebp - 0x114]
push 0x42d3b0
movq qword [0x450dac], xmm0
mov word [0x450db4], ax
call fcn.0041020b
add esp, 4
push 0x450fdc
call fcn.0040feaf
add esp, 4
mov al, byte [0x450db5]
test al, al
je 0x406e2c
xor byte [0x450dac], 0x2e
xor byte [0x450dad], 0x2e
xor byte [0x450dae], 0x2e
xor byte [0x450daf], 0x2e
xor byte [0x450db0], 0x2e
xor byte [0x450db1], 0x2e
xor byte [0x450db2], 0x2e
xor byte [0x450db3], 0x2e
xor byte [0x450db4], 0x2e
xor al, 0x2e
mov byte [0x450db5], al
sub esp, 0x18
mov ecx, 0x450dac
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 0x450dac
mov ecx, edx
call fcn.004032b0
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 [0x450ffc]
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 0x450ffc
call fcn.0040fef9
add esp, 4
cmp dword [0x450ffc], 0xffffffff
jne 0x406f2b
mov eax, dword [ebp - 0x124]
movq xmm0, qword [ebp - 0x12c]
mov dword [0x450fa8], eax
mov ax, word [ebp - 0x120]
push 0x42d380
movq qword [0x450fa0], xmm0
mov word [0x450fac], ax
mov byte [0x450fae], bl
call fcn.0041020b
add esp, 4
push 0x450ffc
call fcn.0040feaf
add esp, 4
cmp byte [0x450fae], 0
je 0x406f42
xor eax, eax
xor byte [eax + 0x450fa0], bl
inc eax
cmp eax, 0xf
jb 0x406f36
mov ecx, 0x450fa0
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 0x450fa0
lea ecx, [ebp - 0x160]
call fcn.004032b0
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.00411190
add esp, 8
test eax, eax
jne 0x407102
mov eax, dword [0x450f9c]
mov dword [ebp - 0x128], 0x4b5c4779
mov dword [ebp - 0x124], 0x5c4f465d
mov word [ebp - 0x120], 0x2e45
cmp eax, dword [esi + 4]
jle 0x40703f
push 0x450f9c
call fcn.0040fef9
add esp, 4
cmp dword [0x450f9c], 0xffffffff
jne 0x40703f
movq xmm0, qword [ebp - 0x128]
mov ax, word [ebp - 0x120]
push 0x42d360
movq qword [0x451018], xmm0
mov word [0x451020], ax
call fcn.0041020b
add esp, 4
push 0x450f9c
call fcn.0040feaf
add esp, 4
mov al, byte [0x451021]
test al, al
je 0x40708e
xor byte [0x451018], 0x2e
xor byte [0x451019], 0x2e
xor byte [0x45101a], 0x2e
xor byte [0x45101b], 0x2e
xor byte [0x45101c], 0x2e
xor byte [0x45101d], 0x2e
xor byte [0x45101e], 0x2e
xor byte [0x45101f], 0x2e
xor byte [0x451020], 0x2e
xor al, 0x2e
mov byte [0x451021], al
mov ecx, 0x451018
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 0x451018
lea ecx, [ebp - 0x148]
call fcn.004032b0
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.00411190
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.0040fdb0
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.0040fdb0
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.0040fb6f
mov esp, ebp
pop ebp
ret
call fcn.004144d7
int3