Function at 0x4085b0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x300
mov eax, dword [0x48d1dc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x214], ebx
push esi
push edi
test ebx, ebx
je 0x4089c8
cmp dword [ebx + 0x50], 0xffffffff
je 0x4089c8
call fcn.0044a31d
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 3
jge 0x4089dc
cmp dword [ebx + 0x50], 1
jl 0x4089dc
jg 0x4089a5
lea ecx, [ebx + 0x1c]
mov dword [ebp - 0x238], ecx
mov eax, eax
mov edi, edi
mov esp, esp
mov ebx, ebx
mov esi, esi
mov eax, eax
mov edi, edi
mov esp, esp
mov ebx, ebx
mov esi, esi
mov edi, edi
mov ebx, dword [ebp - 0x214]
add ebx, 4
cmp dword [ebx + 0x10], 0
je 0x4089c8
cmp dword [ecx + 0x10], 0
je 0x4089c8
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00446820
add esp, 0xc
mov eax, ebx
cmp dword [ebx + 0x14], 8
jb 0x408663
mov eax, dword [ebx]
push eax
call dword [sym.imp.SHLWAPI.dll_PathIsRelativeW]
test eax, eax
je 0x4086b2
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov esi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x20c]
push eax
call esi
lea eax, [ebp - 0x20c]
push eax
call esi
cmp dword [ebx + 0x14], 8
jb 0x4086a2
mov ebx, dword [ebx]
push ebx
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
jmp 0x4086fb
cmp dword [ebx + 0x14], 8
jb 0x4086ba
mov ebx, dword [ebx]
lea ecx, [ebp - 0x20c]
mov edx, 0x104
mov eax, ecx
sub ebx, eax
nop dword [eax]
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x4086ee
movzx eax, word [ebx + ecx]
test ax, ax
je 0x4086ee
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x4086d0
test edx, edx
lea eax, [ecx - 2]
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x20c]
push eax
call fcn.00414ba0
add esp, 4
test eax, eax
je 0x4089bb
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
xor eax, eax
mov dword [ebp - 0x254], 0x65006b
mov ecx, 0x6c
mov dword [ebp - 0x250], 0x6e0072
xor cl, cl
mov dword [ebp - 0x24c], 0x6c0065
mov dword [ebp - 0x248], 0x320033
movups xmm0, xmmword [ebp - 0x254]
mov word [ebp - 0x23c], ax
mov byte [ebp - 0x228], al
mov word [ebp - 0x264], ax
mov dword [ebp - 0x21c], 0x636f6c6c
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x25a], eax
lea eax, [ebp - 0x262]
movups xmmword [ebp - 0x27c], xmm0
mov dword [ebp - 0x244], 0x64002e
mov dword [ebp - 0x240], 0x6c006c
movq xmm0, qword [ebp - 0x244]
push eax
movq qword [ebp - 0x26c], xmm0
lea eax, [ebp - 0x27c]
mov dword [ebp - 0x224], 0x74726956
mov dword [ebp - 0x220], 0x416c6175
movq xmm0, qword [ebp - 0x224]
push eax
mov dword [ebp - 0x234], 0x64616f4c
mov dword [ebp - 0x230], 0x7262694c
mov dword [ebp - 0x22c], 0x57797261
movq qword [ebp - 0x262], xmm0
mov byte [ebp - 0x256], cl
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
push 0x40
push 0x1000
push 0xc
push 0
call eax
mov dword [ebp - 0x210], eax
mov dword [eax], ebx
mov dword [eax + 4], esi
pushal
pushfd
lea eax, [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x210]
mov eax, dword [eax + 4]
call eax
lea ebx, [ebp - 0x234]
push ebx
push eax
mov eax, dword [ebp - 0x210]
mov eax, dword [eax]
call eax
mov ebx, dword [ebp - 0x210]
mov dword [ebx + 8], eax
popfd
popal
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp - 0x210]
mov eax, dword [eax + 8]
call eax
mov dword [ebp - 0x210], eax
test eax, eax
je 0x4089bb
mov edi, dword [ebp - 0x238]
cmp dword [edi + 0x14], 8
jb 0x40887d
mov edi, dword [edi]
lea eax, [ebp - 0x2fc]
mov dword [ebp - 0x300], eax
test edi, edi
jne 0x40889a
xor eax, eax
mov dword [ebp - 0x300], eax
jmp 0x40896a
mov ecx, edi
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4088a0
sub ecx, edx
lea eax, [ebp - 0x2fc]
sar ecx, 1
push 0x80
push eax
lea eax, [ebp - 0x300]
lea ebx, [ecx + 1]
lea esi, [ebx*4]
mov dword [ebp - 0x238], ebx
push esi
push eax
call fcn.00404ff0
add esp, 0x10
push 0
push 0
push esi
push dword [ebp - 0x300]
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push ebx
push edi
push 0
push 3
call esi
xor ebx, ebx
test eax, eax
sete bl
test eax, eax
jne 0x40895c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x40895c
mov ebx, dword [ebp - 0x238]
push 0
push 0
push 0
push 0
push ebx
push edi
push 0
push 3
call esi
mov esi, eax
lea eax, [ebp - 0x2fc]
push 0x80
push eax
lea eax, [ebp - 0x300]
push esi
push eax
call fcn.00404ff0
add esp, 0x10
push 0
push 0
push esi
push dword [ebp - 0x300]
push ebx
push edi
push 0
push 3
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
neg ebx
sbb ebx, ebx
inc ebx
test ebx, ebx
jne 0x4089ef
mov eax, dword [ebp - 0x300]
push eax
push dword [ebp - 0x210]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
lea ecx, [ebp - 0x2fc]
mov eax, dword [ebp - 0x300]
cmp eax, ecx
je 0x408992
push eax
call fcn.0044a1d1
add esp, 4
mov eax, dword [ebp - 0x214]
test esi, esi
je 0x4089c1
mov dword [eax], esi
mov dword [eax + 0x50], 2
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041374e
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x214]
mov dword [eax + 0x50], 0xffffffff
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0041374e
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0041374e
mov esp, ebp
pop ebp
ret
push 0x80
lea eax, [ebp - 0x2fc]
push eax
push dword [ebp - 0x300]
call fcn.00405070
add esp, 0xc
call fcn.00406df0
int3