Function at 0x1021d47
Capabilities:
Get common file path

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x304
mov eax, dword [0x10a49bc]
push ebx
push esi
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x244]
mov dword [ebp - 4], eax
mov dword [ebp - 0x284], 0xc00000e5
call fcn.0101e04d
push esi
lea ecx, [ebp - 0x244]
call fcn.0102098b
xor ebx, ebx
cmp eax, ebx
lea ecx, [ebp - 0x244]
jl 0x1021da0
push 0x1002754
call fcn.01020a04
cmp eax, ebx
jge 0x1021dac
lea ecx, [ebp - 0x244]
mov ebx, eax
call fcn.0101e062
jmp 0x1022241
push edi
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.0101f7f2
mov ecx, eax
call fcn.0101f613
lea esi, [ebp - 0x29c]
lea edi, [ebp - 0x2dc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x2ac]
movsd dword es:[edi], dword [esi]
call fcn.0101e06c
cmp dword [ebp + 0xc], ebx
jne 0x1021e65
lea eax, [ebp - 0x20c]
push eax
push 0x104
call sub.KERNEL32.dll_GetCurrentDirectoryW
test eax, eax
jne 0x1021e53
call fcn.0104b97d
cmp eax, ebx
lea ecx, [ebp - 0x244]
jl 0x1021e4c
mov dword [ebp - 0x28c], 1
mov dword [ebp - 0x288], ebx
call fcn.0101e062
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x290], 0x10024e8
call fcn.0101d708
mov ebx, dword [ebp - 0x284]
jmp 0x1022240
mov ebx, eax
jmp 0x102223b
lea edx, [ebp + 0xc]
lea ecx, [ebp - 0x20c]
call fcn.0103f9d4
cmp eax, ebx
jl 0x1021ea6
xor eax, eax
mov dword [ebp - 0x2c4], ebx
lea edi, [ebp - 0x2c0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x2d0], ebx
lea edi, [ebp - 0x2cc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x2d0]
push eax
lea eax, [ebp - 0x2c4]
push eax
push 0x2e
push ebx
push ebx
lea eax, [ebp + 0x18]
push eax
push 2
call fcn.0103fa88
cmp eax, ebx
jge 0x1021ead
mov ebx, eax
jmp 0x1022235
lea ecx, [ebp - 0x274]
call fcn.0101e04d
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0x274]
call fcn.01020963
cmp eax, ebx
lea ecx, [ebp - 0x274]
jge 0x1021edb
mov ebx, eax
jmp 0x1022230
push 0x1002748
call fcn.01020a04
cmp eax, ebx
jge 0x1021ef0
mov ebx, eax
jmp 0x102222a
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0x274]
push eax
lea ecx, [ebp - 0x2ac]
call fcn.0101f7f2
mov ecx, eax
call fcn.0101f613
lea esi, [ebp - 0x29c]
lea edi, [ebp - 0x28c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x2ac]
movsd dword es:[edi], dword [esi]
call fcn.0101e06c
lea ecx, [ebp - 0x228]
call fcn.0101e04d
push 0x1002718
lea ecx, [ebp - 0x228]
call fcn.0102098b
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
lea eax, [ebp - 0x28c]
push eax
call fcn.010209db
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
mov edi, 0x1002710
push edi
call fcn.01020a04
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
push 0x10026f8
call fcn.01020a04
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
lea eax, [ebp + 0xc]
push eax
call fcn.010209db
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
push 0x10026c0
call fcn.01020a04
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
lea eax, [ebp + 0x18]
push eax
call fcn.010209db
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
mov esi, 0x10026bc
push esi
call fcn.01020a04
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
lea eax, [ebp + 0x18]
push eax
call fcn.010209db
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
push edi
call fcn.01020a04
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
lea eax, [ebp + 0x18]
push eax
call fcn.010209db
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
push esi
call fcn.01020a04
cmp eax, ebx
lea ecx, [ebp - 0x228]
jl 0x102204e
lea eax, [ebp + 0x18]
push eax
call fcn.010209db
cmp eax, ebx
lea ecx, [ebp - 0x228]
jge 0x1022055
mov ebx, eax
jmp 0x1022225
push edi
call fcn.01020a04
cmp eax, ebx
jge 0x1022066
mov ebx, eax
jmp 0x102221f
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x2ac]
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x248], ebx
call fcn.0101f7f2
mov esi, dword [eax]
mov edx, dword [esi + 8]
shl edx, 1
lea ecx, [eax + 4]
mov dword [ecx], edx
mov dword [eax + 8], edx
mov edx, dword [esi]
mov dword [eax + 0xc], edx
lea edx, [ebp - 0x250]
call fcn.01040592
lea ecx, [ebp - 0x2ac]
mov esi, eax
call fcn.0101e06c
cmp esi, ebx
jge 0x10220c1
mov ebx, esi
jmp 0x1022214
test byte [0x10a7e30], 1
jne 0x10220e8
or dword [0x10a7e30], 1
push 0x10a2423
mov dword [0x10a7e28], ebx
mov dword [0x10a7e2c], ebx
call fcn.0103c9e6
pop ecx
push ebx
mov edx, 0x10a7e28
xor ecx, ecx
call fcn.01058644
cmp eax, ebx
jge 0x1022100
mov ebx, eax
jmp 0x1022214
lea eax, [ebp - 0x280]
push eax
lea eax, [ebp - 0x2dc]
push eax
mov dword [ebp - 0x2b8], 3
mov dword [ebp - 0x2b4], 0x10026b0
mov dword [ebp - 0x2b0], ebx
mov dword [ebp - 0x27c], ebx
mov dword [ebp - 0x280], ebx
mov dword [ebp - 0x278], ebx
call fcn.0101f113
cmp eax, ebx
jl 0x102217c
lea edx, [ebp - 0x280]
xor ecx, ecx
push edx
push ecx
xor eax, eax
push eax
lea ecx, [ebp - 0x304]
call fcn.0101ced5
push dword [0x10a7e2c]
lea edx, [ebp - 0x2b8]
push dword [0x10a7e28]
lea ecx, [ebp - 0x304]
call fcn.0104748f
cmp eax, ebx
jge 0x1022183
mov ebx, eax
jmp 0x1022209
push ebx
push ebx
push ebx
push 0x60
push 2
push 6
push 0x80
push ebx
lea eax, [ebp - 0x298]
push eax
lea eax, [ebp - 0x304]
push eax
push dword [0x10a7e2c]
mov edx, 0x40100000
push dword [0x10a7e28]
lea ecx, [ebp - 0x258]
mov dword [ebp - 0x258], ebx
mov dword [ebp - 0x254], ebx
call fcn.01047da1
cmp eax, ebx
jl 0x10221fc
push ebx
push ebx
push ebx
push dword [ebp - 0x250]
lea eax, [ebp - 0x2e4]
push dword [ebp - 0x248]
xor edx, edx
push eax
push ebx
push dword [ebp - 0x254]
xor ecx, ecx
push dword [ebp - 0x258]
call fcn.01046ca6
cmp eax, ebx
jge 0x10221fe
mov ebx, eax
lea ecx, [ebp - 0x258]
call fcn.0101d85e
lea ecx, [ebp - 0x280]
call fcn.0101d150
lea ecx, [ebp - 0x250]
call fcn.0101d150
lea ecx, [ebp - 0x228]
call fcn.0101e062
lea ecx, [ebp - 0x274]
call fcn.0101e062
lea ecx, [ebp - 0x244]
call fcn.0101e062
pop edi
mov ecx, dword [ebp - 4]
pop esi
mov eax, ebx
pop ebx
call fcn.0103c667
leave
ret 0x1c