Function at 0x101593c0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x714
push ebx
push esi
push edi
mov dword [ebp - 0x18], ebp
mov eax, dword [ebp - 0x18]
xor ebx, ebx
mov ecx, dword [eax + 4]
mov dword [0x10a6dbcc], ebx
mov dword [0x10a6dbc0], ecx
call fcn.1015bdd0
mov ecx, dword [0x10a6dbcc]
lea edi, [ebp - 0x40b]
or ecx, eax
xor eax, eax
mov dword [0x10a6dbcc], ecx
mov ecx, 0x4a
mov byte [ebp - 0x40c], bl
mov byte [ebp - 0x614], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x613]
mov byte [ebp - 0x1dc], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x1db]
mov byte [ebp - 0x510], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x50f]
mov dl, 0x70
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0xd7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x97]
mov byte [ebp - 0xd7], 0x74
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0xf
xor eax, eax
lea edi, [ebp - 0x57]
mov byte [ebp - 0xd6], 0x72
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov cl, 0x58
mov al, 0x61
mov byte [ebp - 0xd8], cl
mov byte [ebp - 0xd5], al
mov byte [ebp - 0xd4], dl
mov byte [ebp - 0xd3], bl
mov byte [ebp - 0x98], cl
mov byte [ebp - 0x97], 0x54
mov byte [ebp - 0x96], 0x72
mov byte [ebp - 0x95], al
mov byte [ebp - 0x94], dl
mov byte [ebp - 0x93], 0x2e
mov byte [ebp - 0x92], cl
mov byte [ebp - 0x91], 0x74
mov byte [ebp - 0x90], bl
mov byte [ebp - 0x58], cl
mov byte [ebp - 0x57], 0x54
mov byte [ebp - 0x56], 0x72
mov byte [ebp - 0x55], al
mov byte [ebp - 0x52], al
mov al, 0x6c
mov byte [ebp - 0x54], dl
mov byte [ebp - 0x53], 0x56
mov byte [ebp - 0x51], 0x2e
mov byte [ebp - 0x50], 0x64
mov byte [ebp - 0x4f], al
mov byte [ebp - 0x4e], al
mov byte [ebp - 0x4d], bl
call fcn.1015ce90
mov esi, dword [ebp + 8]
push esi
push 0x101c6034
push 0x10a6e0f2
call fcn.10165eb9
add esp, 0xc
add esi, 0x80
push esi
push 0x101c6034
push 0x10a6dee0
call fcn.10165eb9
add esp, 0xc
mov dword [0x10a6ddd8], 0xd5000510
mov dword [0x10a6ddd4], 0xe5000000
push 0x101c5ef0
push 0x101c6034
push 0x10a6dfec
call fcn.10165eb9
mov eax, dword [ebp + 0xc]
add esp, 0xc
cmp eax, ebx
mov word [0x10a6e0f0], 0x978
je 0x1015959a
cmp byte [eax], bl
je 0x1015959a
lea edx, [ebp - 0xd8]
push edx
push eax
jmp 0x10159621
lea ecx, [ebp - 0x510]
push 0x104
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x101595fd
mov edx, dword [0x10a6e478]
push 1
push 1
push ebx
mov eax, dword [edx + 0x3c]
push eax
mov eax, dword [0x10a6e47c]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push ecx
push edx
push eax
push 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
push ebx
push 0x11
push ebx
call fcn.101592d0
mov ecx, dword [0x10a6e478]
add esp, 0x34
mov dword [ecx + 0x3c], ebx
call fcn.101599a0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x614]
lea eax, [ebp - 0x510]
push edx
push eax
call fcn.1015bd10
add esp, 8
lea ecx, [ebp - 0xd8]
lea edx, [ebp - 0x614]
push ecx
push edx
lea eax, [ebp - 0x1dc]
push str._s_s
push eax
call fcn.10165eb9
add esp, 0x10
lea ecx, [ebp - 0x40c]
lea edx, [ebp - 0x1dc]
push ecx
push 0x10a6ddb0
push edx
call fcn.1015bfd0
add esp, 0xc
call fcn.1015bdd0
mov edx, dword [0x10a6dbcc]
or edx, eax
mov eax, dword [ebp - 0x3e8]
cmp eax, 2
mov dword [0x10a6dbcc], edx
je 0x1015983f
cmp eax, 0xa5001
je 0x1015983f
xor eax, eax
mov ecx, 0x40
mov dword [ebp - 0x10], eax
lea edi, [ebp - 0x2df]
mov dword [ebp - 0xc], eax
mov byte [ebp - 0x2e0], bl
mov dword [ebp - 8], eax
lea edx, [ebp - 0x1dc]
mov dword [ebp - 4], eax
mov dword [ebp - 0x14], ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea ecx, [ebp - 0x58]
stosb byte es:[edi], al
push ecx
push edx
lea eax, [ebp - 0x2e0]
push str._s_s
push eax
call fcn.10165eb9
lea ecx, [ebp - 0x14]
lea edx, [ebp - 0x2e0]
push ecx
push edx
call fcn.1015bd40
add esp, 0x18
lea eax, [ebp - 0x1dc]
lea ecx, [ebp - 0x2e0]
push str..xtp
push eax
push str._s_s
push ecx
call fcn.10165eb9
lea edx, [ebp - 0x10]
lea eax, [ebp - 0x2e0]
push edx
push eax
call fcn.1015bd40
add esp, 0x18
lea ecx, [ebp - 0x98]
lea edx, [ebp - 0x1dc]
lea eax, [ebp - 0x2e0]
push ecx
push edx
push str._s_s
push eax
call fcn.10165eb9
lea ecx, [ebp - 0xc]
lea edx, [ebp - 0x2e0]
push ecx
push edx
call fcn.1015bd40
add esp, 0x18
lea eax, [ebp - 0x1dc]
lea ecx, [ebp - 0x2e0]
push str..dll
push eax
push str._s_s
push ecx
call fcn.10165eb9
lea edx, [ebp - 8]
lea eax, [ebp - 0x2e0]
push edx
push eax
call fcn.1015bd40
add esp, 0x18
lea ecx, [ebp - 0x1dc]
lea edx, [ebp - 0x2e0]
push 0x101c6018
push ecx
push str._s_s
push edx
call fcn.10165eb9
lea eax, [ebp - 4]
lea ecx, [ebp - 0x2e0]
push eax
push ecx
call fcn.1015bd40
mov eax, dword [ebp - 0x3e8]
add esp, 0x18
cmp eax, 0xa500b
jne 0x101597e0
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
lea edx, [ebp - 0x1dc]
push edx
mov edx, dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x10]
push ecx
mov ecx, dword [ebp - 0x14]
push edx
push eax
mov eax, dword [0x10a6e47c]
push ecx
lea ecx, [ebp - 0x714]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
push edx
push eax
push str._08X.__d_._d._d._d._d._d._s
push ecx
call fcn.10165eb9
add esp, 0x28
jmp 0x101597fc
lea edx, [ebp - 0x3e0]
push edx
push eax
lea eax, [ebp - 0x714]
push str._08X._s
push eax
call fcn.10165eb9
add esp, 0x10
mov edx, dword [0x10a6e478]
mov eax, dword [0x10a6e47c]
push 1
push 1
mov edx, dword [edx + 0x3c]
mov ecx, dword [eax + 4]
push ebx
push edx
mov edx, dword [eax + 8]
mov eax, dword [eax]
push edx
push ecx
push eax
push 3
push ecx
push ebx
push ebx
lea ecx, [ebp - 0x714]
push 0x11
push ecx
call fcn.101592d0
add esp, 0x34
call fcn.101599a0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x18
lea esi, [ebp - 0x3e0]
mov edi, 0x10a6e3f0
sub eax, 2
rep movsd dword es:[edi], dword [esi]
je 0x10159868
sub eax, 0xa4fff
je 0x10159868
mov edx, dword [0x10a6e478]
mov dword [edx + 0x3c], ebx
jmp 0x10159874
mov eax, dword [0x10a6e478]
mov dword [eax + 0x3c], 1
lea ecx, [ebp - 0x40c]
push ecx
call fcn.1015c6b0
add esp, 4
call fcn.1015bdd0
mov ecx, dword [0x10a6dbcc]
or ecx, eax
mov eax, dword [ebp - 0x3e8]
cmp eax, 2
mov dword [0x10a6dbcc], ecx
je 0x101598d5
mov edx, dword [0x10a6e478]
mov eax, dword [0x10a6e47c]
push 1
push 1
mov edx, dword [edx + 0x3c]
mov ecx, dword [eax + 4]
push ebx
push edx
mov edx, dword [eax + 8]
mov eax, dword [eax]
push edx
push ecx
push eax
push 0x12
push ecx
push ebx
push ebx
push 0x11
push ebx
call fcn.101592d0
add esp, 0x34
call fcn.101599a0
call fcn.1015bdd0
mov ecx, dword [0x10a6dbcc]
pop edi
or ecx, eax
pop esi
mov dword [0x10a6dbcc], ecx
mov ecx, dword [0x10a6e47c]
xor eax, eax
pop ebx
mov dword [ecx], 0x100
mov esp, ebp
pop ebp
ret