Function at 0x1000a8fa
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x10], edi
push 0
je 0x1000ab14
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x18], 0x582
cmp dword [ebp - 0x18], 0x676
pop esi
jle 0x1000a9c2
mov edi, esi
mov dword [ebp - 8], esi
mov ebx, esi
mov dword [ebp - 4], esi
mov ecx, ebx
mov dword [ebp - 0x18], edi
mov ebx, edi
mov edi, esi
shl ebx, cl
mov ecx, esi
mov dword [ebp - 0x1c], 0x448f
mov dword [ebp - 0x18], ecx
mov eax, ebx
shl eax, cl
lea ecx, [ebp - 0xf0]
cdq
push edx
push eax
call fcn.10002769
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000a972
mov eax, dword [eax]
push eax
call fcn.1003ed0a
pop ecx
push esi
push 1
lea ecx, [ebp - 0xf0]
call fcn.10001539
mov ecx, dword [ebp - 0x18]
add ecx, edi
dec dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
jne 0x1000a956
inc edi
cmp edi, 0x3e2e
jl 0x1000a94a
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 8]
inc ebx
mov dword [ebp - 4], ebx
cmp ebx, 0x2506
jl 0x1000a93f
inc edi
mov dword [ebp - 8], edi
cmp edi, 0x2bfb
jl 0x1000a93a
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 4], esi
jmp 0x1000a9d8
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x84], 0xe1757117
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1000a9c7
mov dword [ebp - 0x80], esi
cmp dword [ebp - 0x80], 0xfffffff7
jl 0x1000aa16
push 2
pop edi
mov dword [ebp - 4], esi
jmp 0x1000aa00
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xb0], 0xccce1e2c
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1000a9ef
cmp dword [ebp - 0xb0], esi
jne 0x1000aa16
dec dword [ebp - 0x80]
cmp dword [ebp - 0x80], 0xfffffff7
jge 0x1000a9ea
mov eax, dword [ecx]
mov dl, 1
push ecx
push ecx
push 0x3a08
push ecx
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x44]
push ecx
push eax
push ecx
lea eax, [ebp - 0x58]
push eax
call fcn.10009197
mov dword [ebp - 4], 0x3718
add esp, 0x20
cmp dword [ebp - 4], 0x3a59
jle 0x1000aadd
push esi
push esi
call dword [sym.imp.KERNEL32.dll_SetCommState]
mov ebx, esi
mov edi, esi
mov dword [ebp - 0x1c], esi
mov ecx, esi
mov dword [ebp - 0x18], esi
mov eax, edi
mov edi, esi
cdq
idiv ecx
mov ecx, edx
mov dword [ebp - 0x2c], ecx
mov eax, edi
or eax, ecx
lea ecx, [ebp - 0x108]
or eax, ebx
cdq
push edx
push eax
call fcn.10002769
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000aa89
mov eax, dword [eax]
push eax
call fcn.1003ed0a
pop ecx
push esi
push 1
lea ecx, [ebp - 0x108]
call fcn.10001539
mov ecx, dword [ebp - 0x2c]
inc edi
cmp edi, 0x3ae9
jl 0x1000aa6b
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x51dc
jl 0x1000aa5f
inc edi
mov dword [ebp - 0x1c], edi
cmp edi, 0x3b36
jl 0x1000aa5a
inc ebx
cmp ebx, 0x602f
jl 0x1000aa55
push 0x1535
push esi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSectionAndSpinCount]
mov edi, dword [ebp - 0x58]
mov cl, byte [esi + edi]
mov dl, 0x28
call fcn.10013008
mov byte [esi + edi], al
inc esi
cmp esi, 4
jb 0x1000aae0
cmp dword [ebp - 4], 0x34fb
jge 0x1000ab07
push str.bfjclebpy_vfd_fbu_xkixtei_uojt_wakuhpv_gsrtvai
call fcn.1003ed0a
pop ecx
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x44]
mov dword [ecx], eax
jmp 0x1000b21b
pop ebx
mov dword [ebp - 0x30], edi
mov dword [ebp - 8], 0x7269
cmp dword [ebp - 8], 0x74f8
push 1
pop esi
jle 0x1000abb6
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, ebx
mov dword [ebp - 4], ebx
mov edx, ebx
mov dword [ebp - 0x18], ebx
add eax, edx
and eax, ecx
lea ecx, [ebp - 0x138]
xor eax, edi
cdq
push edx
push eax
call fcn.10002769
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000ab5e
mov eax, dword [eax]
push eax
call fcn.1003ed0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x138]
call fcn.10001539
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], edx
cmp edx, 0x1492
jl 0x1000ab40
inc eax
mov dword [ebp - 4], eax
cmp eax, 0x2e55
jl 0x1000ab3b
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x61b1
jl 0x1000ab36
inc edi
cmp edi, 0x19ee
jl 0x1000ab31
push 0x1798
push ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edi, dword [ebp - 0x10]
cmp dword [ebp - 8], 0x70c3
jge 0x1000abca
push str.bww_qev_sgj_oix_jidameiig
call fcn.1003ed0a
pop ecx
mov dword [ebp - 0x28], 8
mov dword [ebp - 0x28], ebx
jmp 0x1000ac1a
lea eax, [ebp - 0x88]
mov dword [ebp - 0x8c], 0x53aa9ac7
push eax
push 0x276e
lea eax, [ebp - 0x74]
mov dword [ebp - 0x88], esi
push eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x74], esi
push eax
lea eax, [ebp - 0x28]
mov edx, 0x1ae3
push ebx
push eax
mov ecx, 0x70ec
call fcn.100091df
add esp, 0x18
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffef
jl 0x1000abd6
mov al, byte [edi]
mov byte [ebp - 0x21], al
mov eax, 0x33fcb50b
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
push 2
mov dword [ebp - 0x48], eax
mov dword [ebp - 4], ebx
pop edi
jmp 0x1000ac4f
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x94], 0xeac8
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1000ac3e
xor ecx, ecx
inc ecx
mov dword [ebp - 0x50], ecx
push 3
pop esi
cmp dword [ebp - 0x50], ebx
jl 0x1000add0
mov dword [ebp - 4], ecx
mov dword [ebp - 0x2c], 0xfffffff7
mov dword [ebp - 4], ebx
jmp 0x1000ac82
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xd0], ecx
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1000ac75
mov dword [ebp - 4], ecx
cmp dword [ebp - 4], ebx
jl 0x1000adb4
mov dword [ebp - 0x14], ebx
jmp 0x1000aca3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x20], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000ac99
mov dword [ebp - 0x14], ebx
jmp 0x1000acbb
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], 6
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1000acad
mov dword [ebp - 0x20], ebx
jmp 0x1000ada2
mov dword [ebp - 8], 0x47597a61
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], ebx
jl 0x1000ad7d
cmp dword [ebp - 0x20], ebx
jne 0x1000acf0
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], ebx
jne 0x1000acf0
mov ecx, ebx
xor edx, edx
cmp ecx, 7
setne dl
sub edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
mov eax, dword [ebp + eax*4 - 0x94]
cmp edx, eax
mov eax, dword [ebp - 0x50]
setle cl
xor ebx, ebx
cmp ecx, esi
mov edx, dword [ebp + eax*4 - 0x94]
setl bl
mov eax, dword [ebp - 8]
xor ecx, ecx
cmp ebx, eax
setne cl
xor ebx, ebx
add edx, ecx
je 0x1000ad3e
cmp dword [ebp - 0x20], ebx
je 0x1000ad3e
xor ecx, ecx
inc ecx
mov edx, ecx
jmp 0x1000ad43
xor ecx, ecx
mov edx, ebx
inc ecx
mov eax, dword [ebp - 0x50]
imul eax, edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp + eax*4 - 0x94]
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2c], eax
dec dword [ebp - 8]
jns 0x1000acde
mov dword [ebp - 0x10], ebx
cmp dword [ebp - 0x10], ebx
jl 0x1000ad9f
mov byte [ebp - 0x22], bl
lea ecx, [ebp - 0x22]
push ebx
mov edx, 0x5232
call fcn.1000a446
dec dword [ebp - 0x10]
pop ecx
jns 0x1000ad85
xor ecx, ecx
inc ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], ecx
jle 0x1000acc8
dec dword [ebp - 4]
jns 0x1000ac94
push 0x4b77
lea edx, [ebp - 0x2c]
xor cl, cl
call fcn.1000a314
dec dword [ebp - 0x50]
pop ecx
push 1
pop ecx
jns 0x1000ac66
lea eax, [ebp - 0x21]
xor dl, dl
push eax
lea ecx, [ebp - 0x30]
call fcn.1000999b
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0xc], 0xc781ced8
mov dword [ebp - 0xc], 0xc7979b38
mov dword [ebp - 0xc], 0xe4e91208
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0xc], 6
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xa4], esi
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x98], 0xcfe983d4
pop ecx
mov dword [ebp - 4], ebx
jmp 0x1000ae3a
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x60], 0x571177e8
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1000ae2c
mov dword [ebp - 0x5c], ebx
cmp dword [ebp - 0x5c], 0xfffffffd
jne 0x1000af85
xor ecx, ecx
inc ecx
mov dword [ebp - 8], 0x1dbeccce
mov dword [ebp - 0xc], 0x7af9ca3e
mov dword [ebp - 4], ebx
jmp 0x1000ae70
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x64], 0xa4d63a88
inc dword [ebp - 4]
cmp dword [ebp - 4], ecx
jl 0x1000ae62
mov dword [ebp - 8], ebx
cmp dword [ebp - 8], 8
jne 0x1000af75
mov dword [ebp - 0xc], 7
mov dword [ebp - 0xc], 0xfffffff7
mov dword [ebp - 0xc], 0xffffffff
mov dword [ebp - 0xc], 0x96950a4b
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xc], 0xfffffff9
mov dword [ebp - 0xc], 0x9beab1d6
mov dword [ebp - 0xc], 0xf08e2294
mov dword [ebp - 0xc], 0xf066b7a7
mov dword [ebp - 0xc], 0x8877e06
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xc], 0x5004286a
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xc], 0xcb51404f
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], 0xfffffffc
mov dword [ebp - 0xc], 0x6d4c01e0
mov dword [ebp - 0xc], 0xfffffffc
mov dword [ebp - 0xc], 0xc1d66bd5
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], esi
mov dword [ebp - 4], ebx
jmp 0x1000af2b
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x148], 0xa9d2e819
inc dword [ebp - 4]
cmp dword [ebp - 4], 4
jl 0x1000af1a
push 0x64e4
lea edx, [ebp - 0x98]
xor cl, cl
call fcn.1000b39e
pop ecx
mov dword [ebp - 0x10], ebx
jmp 0x1000af60
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + eax*4 - 0xa8]
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0xa8], ecx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jle 0x1000af49
inc dword [ebp - 8]
cmp dword [ebp - 8], 8
push 1
pop ecx
je 0x1000ae82
mov eax, dword [ebp - 0x64]
dec dword [ebp - 0x5c]
cmp dword [ebp - 0x5c], 0xfffffffd
je 0x1000ae4f
mov dword [ebp - 0x1c], 0xe1b61bab
xor esi, esi
mov dword [ebp - 0x14], 0x530d
inc esi
cmp dword [ebp - 0x14], 0x538c
jle 0x1000b031
mov dword [ebp - 4], ebx
mov edi, ebx
mov dword [ebp - 8], ebx
mov ecx, ebx
mov dword [ebp - 0x18], ebx
mov eax, edi
mov dword [ebp - 0x10], ebx
cdq
mov edi, ebx
idiv ecx
mov eax, dword [ebp - 4]
add eax, edx
mov dword [ebp - 0x34], eax
mov ecx, edi
sar eax, cl
lea ecx, [ebp - 0x120]
cdq
push edx
push eax
call fcn.10002769
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000afde
mov eax, dword [eax]
push eax
call fcn.1003ed0a
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x120]
call fcn.10001539
mov eax, dword [ebp - 0x34]
inc edi
cmp edi, 0x23d0
jl 0x1000afc2
mov ecx, dword [ebp - 0x18]
mov edi, dword [ebp - 8]
inc ecx
mov dword [ebp - 0x18], ecx
cmp ecx, 0x7978
jl 0x1000afb0
inc edi
mov dword [ebp - 8], edi
cmp edi, 0x700f
jl 0x1000afab
mov eax, dword [ebp - 4]
inc eax
mov dword [ebp - 4], eax
cmp eax, 0x428b
jl 0x1000afa6
push 2
pop edi
mov dword [ebp - 0x10], 0xcd3860a4
cmp dword [ebp - 0x14], 0x5069
jge 0x1000b04c
push str.mqhsw_wpkworgy_ncubikhku_euvqqrsi_tohgxg_nirs_xvnedsm_wchx_prznbx_tuq_pfqrcod_yyus
call fcn.1003ed0a
pop ecx
mov dword [ebp - 8], 0xfffffffe
mov dword [ebp - 0x34], 0xffffffff
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], ebx
jmp 0x1000b06c
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x3c], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1000b062
mov dword [ebp - 0x3c], 9
jmp 0x1000b1fb
mov dword [ebp - 0x14], 0x4e7937d8
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 4], ebx
jmp 0x1000b09e
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x70], 0xe9d070fe
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x1000b090
mov dword [ebp - 0x14], ebx
jmp 0x1000b180
mov dword [ebp - 4], 0x74c3
mov dword [ebp - 0xc], 0xabb7
mov dword [ebp - 0x18], 0x3b016fef
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
imul edx, dword [ebp - 0x14], 0x23cc
sub edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], ebx
jne 0x1000b0f2
mov ecx, ebx
cmp dword [ebp - 0x14], ebx
je 0x1000b0f4
mov ecx, esi
mov eax, dword [ebp - 4]
imul eax, ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x6c], eax
test eax, eax
je 0x1000b110
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x34], ebx
je 0x1000b11e
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
add eax, 7
cmp eax, edi
setg cl
mov dword [ebp - 8], ecx
xor ecx, ecx
mov eax, dword [ebp - 8]
test eax, eax
setg cl
sub ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
neg eax
jne 0x1000b15a
mov edx, ebx
cmp dword [ebp - 4], ebx
je 0x1000b15c
mov edx, esi
mov eax, dword [ebp - 0xc]
xor ecx, ecx
cmp eax, edx
setl cl
xor eax, eax
cmp eax, ecx
sbb edx, edx
xor ecx, ecx
inc edx
sub edx, dword [ebp - 4]
mov eax, dword [ebp - 0x38]
cmp edx, eax
setge cl
mov dword [ebp - 8], ecx
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffe4
jl 0x1000b0ac
mov dword [ebp - 0x10], ebx
jmp 0x1000b1f3
mov dword [ebp - 0xc], 0xc33
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], esi
mov dword [ebp - 4], ebx
jmp 0x1000b1b2
mov eax, dword [ebp - 4]
mov dword [ebp + eax*4 - 0xd8], 6
inc dword [ebp - 4]
cmp dword [ebp - 4], edi
jl 0x1000b1a1
mov dword [ebp - 8], ebx
jmp 0x1000b1c6
xor cl, cl
call fcn.1000beef
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x1000b1bc
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 0x10]
mov eax, dword [ebp + eax*4 - 0x70]
mov eax, dword [ebp - 0x70]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x6c]
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0xc], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jle 0x1000b18f
dec dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], 7
jge 0x1000b07d
mov esi, dword [ebp - 0x30]
mov dl, 0x28
mov cl, byte [esi]
call fcn.10013008
mov ecx, dword [ebp - 0x78]
mov byte [esi], al
mov al, byte [ebp - 0x21]
mov byte [ecx], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret