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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x428687
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x160
mov eax, dword [0x439018]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x120], 0
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x124], 0x455d4f5a
mov dword [ebp - 0x120], 0x2e5c4943
mov esi, dword [eax]
mov eax, dword [0x43ae18]
cmp eax, dword [esi + 4]
jle 0x4060eb
push 0x43ae18
call fcn.0040e831
add esp, 4
cmp dword [0x43ae18], 0xffffffff
jne 0x4060eb
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x120]
push 0x428e10
mov dword [0x43ae04], eax
mov dword [0x43ae08], ecx
call fcn.0040eb43
add esp, 4
push 0x43ae18
call fcn.0040e7e7
add esp, 4
mov al, byte [0x43ae0b]
test al, al
je 0x40612c
xor byte [0x43ae04], 0x2e
xor byte [0x43ae05], 0x2e
xor byte [0x43ae06], 0x2e
xor byte [0x43ae07], 0x2e
xor byte [0x43ae08], 0x2e
xor byte [0x43ae09], 0x2e
xor byte [0x43ae0a], 0x2e
xor al, 0x2e
mov byte [0x43ae0b], al
sub esp, 0x18
mov ecx, 0x43ae04
mov edx, esp
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406150
sub ecx, edi
push ecx
push 0x43ae04
mov ecx, edx
call fcn.004032a0
call fcn.00405f60
add esp, 0x18
test al, al
jne 0x4066d0
mov eax, dword [0x43ae60]
mov dword [ebp - 0x124], 0x455d4f7a
mov dword [ebp - 0x120], 0x2e5c4943
cmp eax, dword [esi + 4]
jle 0x4061de
push 0x43ae60
call fcn.0040e831
add esp, 4
cmp dword [0x43ae60], 0xffffffff
jne 0x4061de
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x120]
push 0x428e00
mov dword [0x43ae24], eax
mov dword [0x43ae28], ecx
call fcn.0040eb43
add esp, 4
push 0x43ae60
call fcn.0040e7e7
add esp, 4
mov al, byte [0x43ae2b]
test al, al
je 0x40621f
xor byte [0x43ae24], 0x2e
xor byte [0x43ae25], 0x2e
xor byte [0x43ae26], 0x2e
xor byte [0x43ae27], 0x2e
xor byte [0x43ae28], 0x2e
xor byte [0x43ae29], 0x2e
xor byte [0x43ae2a], 0x2e
xor al, 0x2e
mov byte [0x43ae2b], al
sub esp, 0x18
mov ecx, 0x43ae24
mov edx, esp
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406240
sub ecx, edi
push ecx
push 0x43ae24
mov ecx, edx
call fcn.004032a0
call fcn.00405f60
add esp, 0x18
test al, al
jne 0x4066d0
mov eax, dword [0x43ad48]
mov dword [ebp - 0x124], 0x4b5c4759
mov dword [ebp - 0x120], 0x5c4f465d
mov word [ebp - 0x11c], 0x2e45
cmp eax, dword [esi + 4]
jle 0x4062dd
push 0x43ad48
call fcn.0040e831
add esp, 4
cmp dword [0x43ad48], 0xffffffff
jne 0x4062dd
movq xmm0, qword [ebp - 0x124]
mov ax, word [ebp - 0x11c]
push 0x428de0
movq qword [0x43ae38], xmm0
mov word [0x43ae40], ax
call fcn.0040eb43
add esp, 4
push 0x43ad48
call fcn.0040e7e7
add esp, 4
mov al, byte [0x43ae41]
test al, al
je 0x40632c
xor byte [0x43ae38], 0x2e
xor byte [0x43ae39], 0x2e
xor byte [0x43ae3a], 0x2e
xor byte [0x43ae3b], 0x2e
xor byte [0x43ae3c], 0x2e
xor byte [0x43ae3d], 0x2e
xor byte [0x43ae3e], 0x2e
xor byte [0x43ae3f], 0x2e
xor byte [0x43ae40], 0x2e
xor al, 0x2e
mov byte [0x43ae41], al
sub esp, 0x18
mov ecx, 0x43ae38
mov edx, esp
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406350
sub ecx, edi
push ecx
push 0x43ae38
mov ecx, edx
call fcn.004032a0
call fcn.00405f60
add esp, 0x18
test al, al
jne 0x4066d0
call dword [0x42a1cc]
test eax, eax
je 0x4066cc
push 0x100
lea ecx, [ebp - 0x118]
push ecx
push eax
call dword [0x42a1d4]
mov eax, dword [0x43acd0]
mov dword [ebp - 0x134], 0x4d415c7e
mov dword [ebp - 0x130], 0xe5d5d4b
mov dword [ebp - 0x12c], 0x454d4f66
mov word [ebp - 0x128], 0x5c4b
mov byte [ebp - 0x135], 0x2e
cmp eax, dword [esi + 4]
jle 0x406435
push 0x43acd0
call fcn.0040e831
add esp, 4
cmp dword [0x43acd0], 0xffffffff
jne 0x406435
mov eax, dword [ebp - 0x12c]
movq xmm0, qword [ebp - 0x134]
mov dword [0x43af04], eax
mov ax, word [ebp - 0x128]
mov word [0x43af08], ax
mov al, byte [ebp - 0x135]
push 0x428db0
movq qword [0x43aefc], xmm0
mov byte [0x43af0a], al
call fcn.0040eb43
add esp, 4
push 0x43acd0
call fcn.0040e7e7
add esp, 4
cmp byte [0x43af0a], 0
je 0x40644d
xor eax, eax
xor byte [eax + 0x43aefc], 0x2e
inc eax
cmp eax, 0xf
jb 0x406440
mov ecx, 0x43aefc
mov dword [ebp - 0x15c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x158], 0
movups xmmword [ebp - 0x16c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406473
sub ecx, edx
push ecx
push 0x43aefc
lea ecx, [ebp - 0x16c]
call fcn.004032a0
mov dword [ebp - 4], 0
mov eax, 1
cmp dword [ebp - 0x158], 0x10
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x16c]
cmovae eax, dword [ebp - 0x16c]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0040fad0
add esp, 8
test eax, eax
jne 0x406614
mov eax, dword [0x43add4]
mov dword [ebp - 0x130], 0x4b5c4779
mov dword [ebp - 0x12c], 0x5c4f465d
mov word [ebp - 0x128], 0x2e45
cmp eax, dword [esi + 4]
jle 0x406548
push 0x43add4
call fcn.0040e831
add esp, 4
cmp dword [0x43add4], 0xffffffff
jne 0x406548
movq xmm0, qword [ebp - 0x130]
mov ax, word [ebp - 0x128]
push 0x428d90
movq qword [0x43addc], xmm0
mov word [0x43ade4], ax
call fcn.0040eb43
add esp, 4
push 0x43add4
call fcn.0040e7e7
add esp, 4
mov al, byte [0x43ade5]
test al, al
je 0x406597
xor byte [0x43addc], 0x2e
xor byte [0x43addd], 0x2e
xor byte [0x43adde], 0x2e
xor byte [0x43addf], 0x2e
xor byte [0x43ade0], 0x2e
xor byte [0x43ade1], 0x2e
xor byte [0x43ade2], 0x2e
xor byte [0x43ade3], 0x2e
xor byte [0x43ade4], 0x2e
xor al, 0x2e
mov byte [0x43ade5], al
mov ecx, 0x43addc
mov dword [ebp - 0x144], 0
xorps xmm0, xmm0
mov dword [ebp - 0x140], 0
movups xmmword [ebp - 0x154], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4065c0
sub ecx, edx
push ecx
push 0x43addc
lea ecx, [ebp - 0x154]
call fcn.004032a0
cmp dword [ebp - 0x140], 0x10
mov eax, 3
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x154]
cmovae eax, dword [ebp - 0x154]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.0040fad0
add esp, 8
mov byte [ebp - 0x135], 0
test eax, eax
je 0x40661b
mov byte [ebp - 0x135], 1
mov eax, dword [ebp - 0x13c]
test al, 2
je 0x406689
mov ecx, dword [ebp - 0x140]
and eax, 0xfffffffd
mov dword [ebp - 0x13c], eax
cmp ecx, 0x10
jb 0x40666e
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40665e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4066f0
push ecx
push edx
call fcn.0040e6e8
mov eax, dword [ebp - 0x13c]
add esp, 8
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
test al, 1
je 0x4066c3
mov ecx, dword [ebp - 0x158]
cmp ecx, 0x10
jb 0x4066c3
mov edx, dword [ebp - 0x16c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4066b9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4066f0
push ecx
push edx
call fcn.0040e6e8
add esp, 8
cmp byte [ebp - 0x135], 0
jne 0x4066d0
xor al, al
jmp 0x4066d2
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040e4a8
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.00413597
int3