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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42c2f7
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 [0x43efe0]
cmp eax, dword [esi + 4]
jle 0x405be8
push 0x43efe0
call fcn.0040f858
add esp, 4
cmp dword [0x43efe0], 0xffffffff
jne 0x405be8
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push 0x42cba0
mov dword [0x43efac], eax
mov dword [0x43efb0], ecx
call fcn.0040fb6a
add esp, 4
push 0x43efe0
call fcn.0040f80e
add esp, 4
mov al, byte [0x43efb3]
test al, al
je 0x405c29
xor byte [0x43efac], 0x2e
xor byte [0x43efad], 0x2e
xor byte [0x43efae], 0x2e
xor byte [0x43efaf], 0x2e
xor byte [0x43efb0], 0x2e
xor byte [0x43efb1], 0x2e
xor byte [0x43efb2], 0x2e
xor al, 0x2e
mov byte [0x43efb3], al
sub esp, 0x18
mov ecx, 0x43efac
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 0x405c50
sub ecx, edi
push ecx
push 0x43efac
mov ecx, edx
call fcn.00402ed0
call fcn.00405a70
add esp, 0x18
test al, al
jne 0x4061ae
mov eax, dword [0x43edc4]
mov dword [ebp - 0x11c], 0x455d4f7a
mov dword [ebp - 0x118], 0x2e5c4943
cmp eax, dword [esi + 4]
jle 0x405cde
push 0x43edc4
call fcn.0040f858
add esp, 4
cmp dword [0x43edc4], 0xffffffff
jne 0x405cde
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push 0x42cb90
mov dword [0x43ee58], eax
mov dword [0x43ee5c], ecx
call fcn.0040fb6a
add esp, 4
push 0x43edc4
call fcn.0040f80e
add esp, 4
mov al, byte [0x43ee5f]
test al, al
je 0x405d1f
xor byte [0x43ee58], 0x2e
xor byte [0x43ee59], 0x2e
xor byte [0x43ee5a], 0x2e
xor byte [0x43ee5b], 0x2e
xor byte [0x43ee5c], 0x2e
xor byte [0x43ee5d], 0x2e
xor byte [0x43ee5e], 0x2e
xor al, 0x2e
mov byte [0x43ee5f], al
sub esp, 0x18
mov ecx, 0x43ee58
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 0x405d40
sub ecx, edi
push ecx
push 0x43ee58
mov ecx, edx
call fcn.00402ed0
call fcn.00405a70
add esp, 0x18
test al, al
jne 0x4061ae
mov eax, dword [0x43f030]
mov dword [ebp - 0x11c], 0x4b5c4759
mov dword [ebp - 0x118], 0x5c4f465d
mov word [ebp - 0x114], 0x2e45
cmp eax, dword [esi + 4]
jle 0x405ddd
push 0x43f030
call fcn.0040f858
add esp, 4
cmp dword [0x43f030], 0xffffffff
jne 0x405ddd
movq xmm0, qword [ebp - 0x11c]
mov ax, word [ebp - 0x114]
push 0x42cb70
movq qword [0x43eed0], xmm0
mov word [0x43eed8], ax
call fcn.0040fb6a
add esp, 4
push 0x43f030
call fcn.0040f80e
add esp, 4
mov al, byte [0x43eed9]
test al, al
je 0x405e2c
xor byte [0x43eed0], 0x2e
xor byte [0x43eed1], 0x2e
xor byte [0x43eed2], 0x2e
xor byte [0x43eed3], 0x2e
xor byte [0x43eed4], 0x2e
xor byte [0x43eed5], 0x2e
xor byte [0x43eed6], 0x2e
xor byte [0x43eed7], 0x2e
xor byte [0x43eed8], 0x2e
xor al, 0x2e
mov byte [0x43eed9], al
sub esp, 0x18
mov ecx, 0x43eed0
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 0x405e50
sub ecx, edi
push ecx
push 0x43eed0
mov ecx, edx
call fcn.00402ed0
call fcn.00405a70
add esp, 0x18
test al, al
jne 0x4061ae
call dword [0x42e1d8]
test eax, eax
je 0x4061aa
push pe_nt_image_headers32
lea ecx, [ebp - 0x110]
push ecx
push eax
call dword [0x42e1e0]
mov eax, dword [0x43eee8]
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 0x405f2b
push 0x43eee8
call fcn.0040f858
add esp, 4
cmp dword [0x43eee8], 0xffffffff
jne 0x405f2b
mov eax, dword [ebp - 0x124]
movq xmm0, qword [ebp - 0x12c]
mov dword [0x43efec], eax
mov ax, word [ebp - 0x120]
push 0x42cb40
movq qword [0x43efe4], xmm0
mov word [0x43eff0], ax
mov byte [0x43eff2], bl
call fcn.0040fb6a
add esp, 4
push 0x43eee8
call fcn.0040f80e
add esp, 4
cmp byte [0x43eff2], 0
je 0x405f42
xor eax, eax
xor byte [eax + 0x43efe4], bl
inc eax
cmp eax, 0xf
jb 0x405f36
mov ecx, 0x43efe4
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 0x405f70
sub ecx, edx
push ecx
push 0x43efe4
lea ecx, [ebp - 0x160]
call fcn.00402ed0
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.00410af0
add esp, 8
test eax, eax
jne 0x406102
mov eax, dword [0x43ef5c]
mov dword [ebp - 0x128], 0x4b5c4779
mov dword [ebp - 0x124], 0x5c4f465d
mov word [ebp - 0x120], 0x2e45
cmp eax, dword [esi + 4]
jle 0x40603f
push 0x43ef5c
call fcn.0040f858
add esp, 4
cmp dword [0x43ef5c], 0xffffffff
jne 0x40603f
movq xmm0, qword [ebp - 0x128]
mov ax, word [ebp - 0x120]
push 0x42cb20
movq qword [0x43ef00], xmm0
mov word [0x43ef08], ax
call fcn.0040fb6a
add esp, 4
push 0x43ef5c
call fcn.0040f80e
add esp, 4
mov al, byte [0x43ef09]
test al, al
je 0x40608e
xor byte [0x43ef00], 0x2e
xor byte [0x43ef01], 0x2e
xor byte [0x43ef02], 0x2e
xor byte [0x43ef03], 0x2e
xor byte [0x43ef04], 0x2e
xor byte [0x43ef05], 0x2e
xor byte [0x43ef06], 0x2e
xor byte [0x43ef07], 0x2e
xor byte [0x43ef08], 0x2e
xor al, 0x2e
mov byte [0x43ef09], al
mov ecx, 0x43ef00
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 0x4060b4
sub ecx, edx
push ecx
push 0x43ef00
lea ecx, [ebp - 0x148]
call fcn.00402ed0
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.00410af0
add esp, 8
mov byte [ebp - 0x12d], 0
test eax, eax
je 0x406109
mov byte [ebp - 0x12d], 1
test bl, 2
je 0x406166
mov edx, dword [ebp - 0x134]
and ebx, 0xfffffffd
cmp edx, 0x10
jb 0x40614b
mov ecx, dword [ebp - 0x148]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406141
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4061cc
push edx
push ecx
call fcn.0040f70f
add esp, 8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
test bl, 1
je 0x4061a1
mov edx, dword [ebp - 0x14c]
cmp edx, 0x10
jb 0x4061a1
mov ecx, dword [ebp - 0x160]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406197
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4061cc
push edx
push ecx
call fcn.0040f70f
add esp, 8
cmp byte [ebp - 0x12d], 0
jne 0x4061ae
xor al, al
jmp 0x4061b0
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.0040f4cf
mov esp, ebp
pop ebp
ret
call fcn.00413e37
int3