Function at 0x10038443
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100588cc
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x80
cmp byte [ebp + 0xc], 0
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x18], edx
push edi
mov dword [esp + 0x28], esi
je 0x1003875f
cmp byte [ebp + 8], 0
je 0x100384db
mov esi, dword [ebp + 0x10]
xor ebx, ebx
mov dword [esi], ebx
cmp dword [esi], ebx
jg 0x10038861
mov edi, dword [ebp + 0x2c]
xor edx, edx
inc edx
mov ecx, dword [esi]
mov eax, dword [edi]
cmp dword [eax + ecx*4], 0x77eb9323
jne 0x100384b0
mov ecx, dword [esi]
mov eax, dword [edi]
mov dword [esp + 0x14], edx
cmp dword [eax + ecx*4], ebx
jne 0x100384b4
mov dword [esp + 0x14], ebx
mov ecx, dword [esi]
xor edx, edx
mov eax, dword [edi]
mov edi, dword [esp + 0x14]
push 1
cmp edi, dword [eax + ecx*4]
mov eax, dword [esp + 0x20]
mov edi, dword [ebp + 0x2c]
sete dl
mov dword [eax], edx
inc dword [esi]
pop edx
cmp dword [esi], ebx
jle 0x10038496
jmp 0x10038861
mov dword [esp + 0x28], 0xffffffff
lea ecx, [esp + 0x34]
push 4
call fcn.10011bd7
xor ebx, ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebx
jmp 0x10038514
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov dword [eax + ecx*4], 0xfffffff8
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 4
jl 0x10038501
dec dword [esp + 0x18]
mov byte [esp + 0x12], bl
mov dword [esp + 0x1c], 0x40a0
cmp dword [esp + 0x1c], 0x4308
push 1
pop eax
jle 0x100385a7
xor esi, esi
mov edi, ebx
inc esi
mov eax, ebx
mov dword [esp + 0x14], ebx
mov ecx, ebx
mov dword [esp + 0x18], ebx
cdq
idiv ecx
mov eax, edi
mov ecx, edx
shl eax, cl
lea ecx, [esp + 0x58]
cdq
push edx
push eax
call fcn.10001ba3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10038568
mov eax, dword [eax]
push eax
call fcn.100410e1
pop ecx
push ebx
push esi
lea ecx, [esp + 0x60]
call fcn.100122d9
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
inc ecx
mov dword [esp + 0x18], ecx
cmp ecx, 0x24da
jl 0x10038549
inc eax
mov dword [esp + 0x14], eax
cmp eax, 0x4b06
jl 0x10038543
inc edi
cmp edi, 0x68f8
jl 0x1003853d
xor eax, eax
inc eax
push ecx
lea ecx, [esp + 0x16]
mov edx, 0x44d9
push ecx
push ecx
push eax
call fcn.10036e3c
add esp, 0x10
cmp dword [esp + 0x1c], 0x3efd
jge 0x100385d1
push str.vmsweebjr_yeeumg_keojex_kdp_ikhzuxt_qjndzd
call fcn.100410e1
pop ecx
lea ecx, [esp + 0x34]
call fcn.10011c39
xor eax, eax
mov dword [esp + 0x54], 7
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], ax
push ebx
mov edx, 0x3f6c
mov dword [esp + 0x98], 3
call fcn.1003812e
pop ecx
lea eax, [esp + 0x40]
xor cl, cl
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.10036fa3
xor esi, esi
inc esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x30], 3
mov dword [esp + 0x28], 9
pop ecx
mov dword [esp + 0x2c], 0x17779a7b
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x1003864b
mov eax, dword [esp + 0x14]
mov dword [esp + eax*4 + 0x2c], 0xffffffff
inc dword [esp + 0x14]
cmp dword [esp + 0x14], 2
jl 0x1003863b
push ecx
push 0x43f9
push ecx
push ebx
lea edx, [esp + 0x30]
call fcn.10036e3c
mov byte [esp + 0x23], bl
add esp, 0x10
cmp byte [esp + 0x13], 0
je 0x10038684
push 0x747f
push 0x1115
mov cl, 1
call fcn.10036fa3
pop ecx
pop ecx
mov eax, dword [0x102dbce0]
test al, 1
jne 0x100386bb
or eax, 1
mov dword [0x102dbce0], eax
push 0x38cd
mov byte [esp + 0x98], 4
call fcn.1002803a
mov word [0x102dd090], ax
mov byte [esp + 0x98], 3
mov eax, dword [0x102dbce0]
pop ecx
test al, 2
jne 0x100386e8
or eax, 2
mov dword [0x102dbce0], eax
push 0x1e4e
mov byte [esp + 0x98], 5
call fcn.1002803a
pop ecx
mov word [0x102dbcec], ax
mov byte [esp + 0x94], 3
mov esi, dword [ebp + 0x24]
test esi, esi
je 0x1003873a
xor ebx, ebx
inc ebx
push ebx
push ebx
mov edx, 0x432d
mov ecx, 0x3054
call fcn.10036fe1
call fcn.10036e27
push 0x34
pop ecx
xor edx, edx
div ecx
push ebx
lea eax, [esp + 0x30]
mov dword [esp + 0x30], edx
push eax
lea eax, [esp + 0x50]
mov edx, 0x102dd090
push eax
push 0x102dbcec
push 0x68af
call fcn.10037642
add esp, 0x1c
dec esi
jne 0x100386f2
xor ebx, ebx
mov ecx, dword [ebp + 0x18]
lea eax, [esp + 0x40]
cmp ecx, eax
je 0x1003874e
push 0xffffffffffffffff
push ebx
push eax
call fcn.10012477
push ebx
push 1
lea ecx, [esp + 0x48]
call fcn.100125a7
jmp 0x10038861
cmp byte [ebp + 0x1c], 0
je 0x10038854
mov dword [esp + 0x18], 0x6fa7
cmp dword [esp + 0x18], 0x7032
push 0
pop ebx
mov dword [esp + 0x14], 1
jle 0x100387e3
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [esp + 0x1c], ebx
and eax, edi
lea ecx, [esp + 0x70]
or eax, esi
cdq
push edx
push eax
call fcn.10001ba3
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100387aa
mov eax, dword [eax]
push eax
call fcn.100410e1
pop ecx
push ebx
push 1
lea ecx, [esp + 0x78]
call fcn.100122d9
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 0x3faf
jl 0x10038790
inc edi
cmp edi, 0x75b4
jl 0x1003878a
inc esi
cmp esi, 0x67e
jl 0x10038788
mov esi, dword [esp + 0x28]
cmp dword [esp + 0x18], 0x6f52
jge 0x100387f8
push str.zfgz_bwwwmm_ypshf_wcwfjjoji_slreqniz_ujinzw_nmrcksiu_sqoumrp
call fcn.100410e1
pop ecx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx]
inc dword [ecx]
test eax, eax
je 0x10038830
mov eax, dword [ecx]
mov eax, dword [esi]
mov edx, dword [eax]
xor eax, eax
cmp edx, 0x76f
setne al
sub eax, edx
neg eax
sbb eax, eax
xor ecx, ecx
inc eax
cmp eax, edx
setne cl
xor eax, eax
cmp ecx, edx
setge al
cmp eax, 0x52835357
jg 0x10038834
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebp + 0x30]
mov eax, dword [eax]
mov dword [eax + 4], ecx
mov eax, dword [esi]
mov esi, dword [esp + 0x14]
mov dword [eax], esi
mov eax, dword [ebp + 0x28]
mov dword [eax], 0xffffffff
jmp 0x10038861
push 0x513
push 0
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret