Function at 0x598fe0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a2f3d
mov eax, dword fs:[0]
push eax
sub esp, 0x90
mov eax, dword [0x60dae4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, 1
shl eax, 3
mov byte [ebp + eax - 0x28], 0x68
mov ecx, 1
imul edx, ecx, 5
mov byte [ebp + edx - 0x28], 0x65
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0x28], 0x47
mov edx, 1
imul eax, edx, 0xb
mov byte [ebp + eax - 0x28], 0x6d
mov ecx, 1
shl ecx, 2
mov byte [ebp + ecx - 0x28], 0x6c
mov edx, 1
imul eax, edx, 9
mov byte [ebp + eax - 0x28], 0x72
mov ecx, 1
imul edx, ecx, 3
mov byte [ebp + edx - 0x28], 0x67
mov eax, 1
imul ecx, eax, 0xc
mov byte [ebp + ecx - 0x28], 0x65
mov edx, 1
shl edx, 0
mov byte [ebp + edx - 0x28], 0x6f
mov eax, 1
imul ecx, eax, 6
mov byte [ebp + ecx - 0x28], 0x20
mov edx, 1
shl edx, 1
mov byte [ebp + edx - 0x28], 0x6f
mov eax, 1
imul ecx, eax, 0xd
mov dword [ebp - 0x58], ecx
cmp dword [ebp - 0x58], 0xe
jae 0x5990ac
jmp 0x5990b1
call fcn.00573527
mov edx, dword [ebp - 0x58]
mov byte [ebp + edx - 0x28], 0
mov eax, 1
imul ecx, eax, 7
mov byte [ebp + ecx - 0x28], 0x43
mov edx, 1
imul eax, edx, 0xa
mov byte [ebp + eax - 0x28], 0x6f
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 0
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x88], esp
lea eax, [ebp - 0x28]
push eax
call fcn.0042d800
call fcn.0041ac70
add esp, 0x14
mov byte [ebp - 0x4a], al
mov cl, byte [ebp - 0x4a]
mov byte [ebp - 0x49], cl
mov edx, dword [ebp + 0x18]
mov dword [edx], 1
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x59914b
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x8c], esp
lea eax, [ebp - 0x28]
push eax
call fcn.0042d800
call fcn.0041ac70
add esp, 0x14
mov byte [ebp - 0x4b], al
mov cl, byte [ebp - 0x4b]
mov byte [ebp - 0x49], cl
mov edx, dword [ebp + 0x18]
mov dword [edx], 2
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x599193
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x599193
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x10]
push eax
push 0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x90], esp
lea edx, [ebp - 0x28]
push edx
call fcn.0042d800
call fcn.0041ac70
add esp, 0x14
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x4c]
mov byte [ebp - 0x49], al
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 3
mov edx, 1
shl edx, 2
mov byte [ebp + edx - 0x18], 0x6d
mov eax, 1
shl eax, 0
mov byte [ebp + eax - 0x18], 0x68
mov ecx, 1
imul edx, ecx, 3
mov byte [ebp + edx - 0x18], 0x6f
mov eax, 1
imul ecx, eax, 5
mov byte [ebp + ecx - 0x18], 0x65
mov edx, 1
shl edx, 1
mov byte [ebp + edx - 0x18], 0x72
mov eax, 1
imul ecx, eax, 0
mov byte [ebp + ecx - 0x18], 0x43
mov edx, 1
imul eax, edx, 6
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 7
jae 0x5991f3
jmp 0x5991f8
call fcn.00573527
mov ecx, dword [ebp - 0x5c]
mov byte [ebp + ecx - 0x18], 0
movzx edx, byte [ebp - 0x49]
test edx, edx
jne 0x599240
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 0
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x94], esp
lea edx, [ebp - 0x18]
push edx
call fcn.0042d800
call fcn.0041ac70
add esp, 0x14
mov byte [ebp - 0x4d], al
mov al, byte [ebp - 0x4d]
mov byte [ebp - 0x49], al
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 4
movzx edx, byte [ebp - 0x49]
test edx, edx
jne 0x599280
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x98], esp
lea edx, [ebp - 0x18]
push edx
call fcn.0042d800
call fcn.0041ac70
add esp, 0x14
mov byte [ebp - 0x4e], al
mov al, byte [ebp - 0x4e]
mov byte [ebp - 0x49], al
mov ecx, dword [ebp + 0x18]
mov dword [ecx], 5
movzx edx, byte [ebp - 0x49]
test edx, edx
jne 0x5992c8
movzx eax, byte [ebp + 8]
test eax, eax
je 0x5992c8
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
push 0
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x9c], esp
lea eax, [ebp - 0x18]
push eax
call fcn.0042d800
call fcn.0041ac70
add esp, 0x14
mov byte [ebp - 0x4f], al
mov cl, byte [ebp - 0x4f]
mov byte [ebp - 0x49], cl
mov edx, dword [ebp + 0x18]
mov dword [edx], 6
movzx eax, byte [ebp - 0x49]
test eax, eax
jne 0x5992e3
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x10]
push edx
call fcn.00419ab0
add esp, 8
mov byte [ebp - 0x49], al
movzx eax, byte [ebp - 0x49]
test eax, eax
je 0x599413
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx - 0xc]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
jne 0x5993cc
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x74]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.00598c60
add esp, 8
mov dword [ebp - 4], 0
mov edx, 1
imul eax, edx, 0
mov byte [ebp + eax - 0x2c], 0x25
mov ecx, 1
shl ecx, 1
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x60], 3
jae 0x599342
jmp 0x599347
call fcn.00573527
mov edx, dword [ebp - 0x60]
mov byte [ebp + edx - 0x2c], 0
mov eax, 1
shl eax, 0
mov byte [ebp + eax - 0x2c], 0x73
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x54], ecx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x54]
cmp dword [eax + 0x14], 0x10
jb 0x59937a
mov dword [ebp - 0x64], 1
jmp 0x599381
mov dword [ebp - 0x64], 0
mov cl, byte [ebp - 0x64]
mov byte [ebp - 0x50], cl
movzx edx, byte [ebp - 0x50]
test edx, edx
je 0x59939d
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x80]
push edx
lea eax, [ebp - 0x2c]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.004307b0
add esp, 0xc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.0042c1f0
mov dword [ebp - 0x30], 0
mov edx, dword [ebp + 0x10]
mov eax, dword [edx]
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x84]
push edx
call dword [sym.imp.KERNEL32.dll_GetBinaryTypeA]
test eax, eax
je 0x599402
cmp dword [ebp - 0x30], 6
jne 0x599402
mov dword [ebp - 0x6c], 1
jmp 0x599409
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp + 0xc]
mov cl, byte [ebp - 0x6c]
mov byte [eax], cl
jmp 0x59941c
mov edx, dword [ebp + 0x18]
mov dword [edx], 0
mov al, byte [ebp - 0x49]
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