Function at 0x406ba0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a31a9
mov eax, dword fs:[0]
push eax
sub esp, 0x160
mov eax, dword [0x60dae4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x148], 0
mov dword [ebp - 4], 0
mov byte [ebp - 0x85], 0
mov eax, 1
imul ecx, eax, 0x1a
mov byte [ebp + ecx - 0x3c], 0x3d
mov edx, 1
shl edx, 4
mov byte [ebp + edx - 0x3c], 0x70
mov eax, 1
imul ecx, eax, 9
mov byte [ebp + ecx - 0x3c], 0x73
mov edx, 1
imul eax, edx, 0xe
mov byte [ebp + eax - 0x3c], 0x70
mov ecx, 1
imul edx, ecx, 0x11
mov byte [ebp + edx - 0x3c], 0x3f
mov eax, 1
imul ecx, eax, 0xc
mov byte [ebp + ecx - 0x3c], 0x63
mov edx, 1
imul eax, edx, 0x1c
mov byte [ebp + eax - 0x3c], 0x73
mov ecx, 1
imul edx, ecx, 6
mov byte [ebp + edx - 0x3c], 0x2f
mov eax, 1
imul ecx, eax, 5
mov byte [ebp + ecx - 0x3c], 0x3a
mov edx, 1
imul eax, edx, 0x15
mov byte [ebp + eax - 0x3c], 0x3d
mov ecx, 1
imul edx, ecx, 0x17
mov byte [ebp + edx - 0x3c], 0x73
mov eax, 1
imul ecx, eax, 3
mov byte [ebp + ecx - 0x3c], 0x70
mov edx, 1
imul eax, edx, 0x18
mov byte [ebp + eax - 0x3c], 0x26
mov ecx, 1
imul edx, ecx, 0x16
mov byte [ebp + edx - 0x3c], 0x25
mov eax, 1
imul ecx, eax, 0x14
mov byte [ebp + ecx - 0x3c], 0x64
mov edx, 1
imul eax, edx, 0xa
mov byte [ebp + eax - 0x3c], 0x2f
mov ecx, 1
shl ecx, 2
mov byte [ebp + ecx - 0x3c], 0x73
mov edx, 1
imul eax, edx, 0x19
mov byte [ebp + eax - 0x3c], 0x6d
mov ecx, 1
shl ecx, 3
mov byte [ebp + ecx - 0x3c], 0x25
mov edx, 1
imul eax, edx, 0x12
mov byte [ebp + eax - 0x3c], 0x75
mov ecx, 1
shl ecx, 1
mov byte [ebp + ecx - 0x3c], 0x74
mov edx, 1
imul eax, edx, 0
mov byte [ebp + eax - 0x3c], 0x68
mov ecx, 1
imul edx, ecx, 0xd
mov byte [ebp + edx - 0x3c], 0x2e
mov eax, 1
imul ecx, eax, 0x1b
mov byte [ebp + ecx - 0x3c], 0x25
mov edx, 1
shl edx, 0
mov byte [ebp + edx - 0x3c], 0x74
mov eax, 1
imul ecx, eax, 0x1d
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 0x1e
jae 0x406d46
jmp 0x406d4b
call fcn.00573527
mov edx, dword [ebp - 0xd4]
mov byte [ebp + edx - 0x3c], 0
mov eax, 1
imul ecx, eax, 0x13
mov byte [ebp + ecx - 0x3c], 0x69
mov edx, 1
imul eax, edx, 0xb
mov byte [ebp + eax - 0x3c], 0x69
mov ecx, 1
imul edx, ecx, 0xf
mov byte [ebp + edx - 0x3c], 0x68
mov eax, 1
imul ecx, eax, 7
mov byte [ebp + ecx - 0x3c], 0x2f
xor edx, edx
mov dword [ebp - 0x48], edx
call fcn.0043c0af
push eax
lea ecx, [ebp - 0x48]
call fcn.0042ce10
mov byte [ebp - 4], 1
lea eax, [ebp - 0xe0]
push eax
call fcn.00430210
add esp, 4
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov dword [ebp - 0x144], ecx
mov byte [ebp - 4], 2
lea edx, [ebp + 8]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x90]
cmp dword [ecx + 0x14], 0x10
jb 0x406df3
mov dword [ebp - 0xa4], 1
jmp 0x406dfd
mov dword [ebp - 0xa4], 0
mov dl, byte [ebp - 0xa4]
mov byte [ebp - 0x86], dl
movzx eax, byte [ebp - 0x86]
test eax, eax
je 0x406e2e
mov ecx, dword [ebp - 0x90]
mov edx, dword [ecx]
mov dword [ebp - 0x13c], edx
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x144]
mov ecx, dword [eax]
mov dword [ebp - 0xdc], ecx
push str.fe52711c45834992b4f3fe919e3b4372
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0xdc]
push eax
lea ecx, [ebp - 0x3c]
push ecx
lea edx, [ebp - 0x48]
push edx
call fcn.004307b0
add esp, 0x14
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0xe0]
sub eax, 0x10
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0xe4]
call fcn.0042cb50
mov dword [ebp - 0x94], 0
jmp 0x406eb0
mov ecx, dword [ebp - 0x94]
add ecx, 1
mov dword [ebp - 0x94], ecx
cmp dword [ebp - 0x94], 5
jge 0x4071ca
movzx edx, byte [ebp - 0x8c]
push edx
lea ecx, [ebp - 0x84]
call fcn.0042c340
lea ecx, [ebp - 0x84]
call fcn.0042c390
mov byte [ebp - 4], 3
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
lea ecx, [ebp - 0x6c]
call fcn.00427770
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0xe8]
push edx
lea ecx, [ebp - 0x16c]
call fcn.0042aeb0
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x84]
push ecx
mov edx, dword [ebp - 0xf0]
push edx
lea ecx, [ebp - 0x6c]
call fcn.00427a40
mov byte [ebp - 0x87], al
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x16c]
call fcn.0042c1f0
movzx eax, byte [ebp - 0x87]
test eax, eax
je 0x40719d
xor ecx, ecx
mov dword [ebp - 0x40], ecx
lea edx, [ebp - 0x84]
mov dword [ebp - 0x98], edx
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0x98]
cmp dword [ecx + 0x14], 0x10
jb 0x406fa8
mov dword [ebp - 0xac], 1
jmp 0x406fb2
mov dword [ebp - 0xac], 0
mov dl, byte [ebp - 0xac]
mov byte [ebp - 0x88], dl
movzx eax, byte [ebp - 0x88]
test eax, eax
je 0x406fe3
mov ecx, dword [ebp - 0x98]
mov edx, dword [ecx]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xf8], ecx
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0xfc], edx
mov eax, dword [ebp - 0xfc]
push eax
lea ecx, [ebp - 0x40]
call fcn.0042d800
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x40]
call fcn.00432ca0
mov ecx, eax
call fcn.00432b30
lea ecx, [ebp + 8]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0x9c]
cmp dword [eax + 0x14], 0x10
jb 0x40704a
mov dword [ebp - 0xb4], 1
jmp 0x407054
mov dword [ebp - 0xb4], 0
mov cl, byte [ebp - 0xb4]
mov byte [ebp - 0x89], cl
movzx edx, byte [ebp - 0x89]
test edx, edx
je 0x407085
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax]
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x100]
mov dword [ebp - 0xb8], edx
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
mov dword [ebp - 0x108], ecx
mov edx, dword [ebp - 0x108]
push edx
lea ecx, [ebp - 0x40]
call fcn.00432d40
test eax, eax
jne 0x4070bc
mov dword [ebp - 0xbc], 1
jmp 0x4070c6
mov dword [ebp - 0xbc], 0
mov al, byte [ebp - 0xbc]
mov byte [ebp - 0x85], al
movzx ecx, byte [ebp - 0x85]
test ecx, ecx
jne 0x40710f
push str.fe52711c45834992b4f3fe919e3b4372
lea ecx, [ebp - 0x40]
call fcn.00432d40
test eax, eax
jne 0x4070fa
mov dword [ebp - 0xc0], 1
jmp 0x407104
mov dword [ebp - 0xc0], 0
movzx edx, byte [ebp - 0xc0]
test edx, edx
je 0x40714a
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x40]
sub eax, 0x10
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x10c]
call fcn.0042cb50
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c]
call fcn.0040ebb0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x84]
call fcn.0042c1f0
jmp 0x4071ca
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x40]
sub ecx, 0x10
mov dword [ebp - 0x110], ecx
mov ecx, dword [ebp - 0x110]
call fcn.0042cb50
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c]
call fcn.0040ebb0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x84]
call fcn.0042c1f0
jmp 0x4071ca
push 0x3e8
call fcn.0040a8b0
add esp, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6c]
call fcn.0040ebb0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x84]
call fcn.0042c1f0
jmp 0x406ea1
mov eax, 1
shl eax, 2
mov byte [ebp + eax - 0x1c], 0x63
mov ecx, 1
imul edx, ecx, 3
mov byte [ebp + edx - 0x1c], 0x69
mov eax, 1
imul ecx, eax, 6
mov byte [ebp + ecx - 0x1c], 0x25
mov edx, 1
imul eax, edx, 5
mov byte [ebp + eax - 0x1c], 0x5f
mov ecx, 1
shl ecx, 0
mov byte [ebp + ecx - 0x1c], 0x74
mov edx, 1
shl edx, 1
mov byte [ebp + edx - 0x1c], 0x69
mov eax, 1
shl eax, 3
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 9
jae 0x407230
jmp 0x407235
call fcn.00573527
mov ecx, dword [ebp - 0xc4]
mov byte [ebp + ecx - 0x1c], 0
mov edx, 1
imul eax, edx, 0
mov byte [ebp + eax - 0x1c], 0x69
mov ecx, 1
imul edx, ecx, 7
mov byte [ebp + edx - 0x1c], 0x64
xor eax, eax
mov dword [ebp - 0x44], eax
call fcn.0043c0af
push eax
lea ecx, [ebp - 0x44]
call fcn.0042ce10
mov byte [ebp - 4], 7
movzx ecx, byte [ebp - 0x85]
test ecx, ecx
je 0x407288
mov dword [ebp - 0xc8], 1
jmp 0x407292
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0xc8]
push edx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x44]
push ecx
call fcn.004307b0
add esp, 0xc
push ecx
mov edx, esp
mov dword [ebp - 0x14c], esp
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x44]
sub eax, 0x10
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x138]
push ecx
call fcn.004308b0
add esp, 4
mov dword [ebp - 0x11c], eax
mov edx, dword [ebp - 0x11c]
add edx, 0x10
mov eax, dword [ebp - 0x120]
mov dword [eax], edx
mov byte [ebp - 4], 8
lea ecx, [ebp + 8]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0xa0]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xa0]
cmp dword [eax + 0x14], 0x10
jb 0x40731b
mov dword [ebp - 0xcc], 1
jmp 0x407325
mov dword [ebp - 0xcc], 0
mov cl, byte [ebp - 0xcc]
mov byte [ebp - 0x8a], cl
movzx edx, byte [ebp - 0x8a]
test edx, edx
je 0x407356
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0x12c], ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x150], esp
mov edx, dword [ebp - 0x12c]
push edx
call fcn.0042d800
mov byte [ebp - 4], 7
call fcn.005997c0
add esp, 8
mov al, byte [ebp - 0x85]
mov byte [ebp - 0x8b], al
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x44]
sub ecx, 0x10
mov dword [ebp - 0x130], ecx
mov ecx, dword [ebp - 0x130]
call fcn.0042cb50
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x48]
sub edx, 0x10
mov dword [ebp - 0x134], edx
mov ecx, dword [ebp - 0x134]
call fcn.0042cb50
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0042c1f0
mov al, byte [ebp - 0x8b]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005733f7
mov esp, ebp
pop ebp
ret 0x18