Function at 0x10060dd
Capabilities:
Get common file path
Set current directory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x488
mov eax, dword [0x1009024]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
push 6
pop ecx
mov dword [ebp - 0x418], eax
xor eax, eax
xor ebx, ebx
mov esi, 0x206
lea edi, [ebp - 0x43c]
push esi
mov dword [ebp - 0x440], ebx
rep stosd dword es:[edi], eax
mov byte [ebp - 0x450], al
mov word [ebp - 0x20c], ax
lea eax, [ebp - 0x20a]
push ebx
push eax
mov dword [ebp - 0x480], 2
call sub.msvcrt.dll_memset
xor eax, eax
push esi
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x412]
push ebx
push eax
call sub.msvcrt.dll_memset
mov esi, dword [sym.imp.KERNEL32.dll_HeapSetInformation]
add esp, 0x18
push ebx
push ebx
push 1
push ebx
mov dword [ebp - 0x444], ebx
mov dword [ebp - 0x44c], ebx
mov dword [ebp - 0x478], ebx
mov dword [ebp - 0x420], ebx
call esi
test eax, eax
jne 0x100618b
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1006fe2
push 4
lea eax, [ebp - 0x480]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call esi
call fcn.010019b3
xor eax, eax
inc eax
mov dword [ebp - 0x448], eax
mov ebx, 0x104
mov esi, 0x10093e0
cmp dword [ebp + 8], eax
jbe 0x1006a5b
mov edi, dword [sym.imp.msvcrt.dll__wcsnicmp]
mov eax, dword [ebp - 0x418]
mov ecx, dword [ebp - 0x448]
lea esi, [eax + ecx*4]
mov eax, dword [esi]
cmp word [eax], 0x2f
jne 0x100687a
push 0x1001850
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1006249
cmp dword [ebp - 0x440], eax
je 0x100620b
cmp dword [ebp - 0x440], 0x100212f
jne 0x10063bc
mov dword [ebp - 0x440], 0x100212f
mov byte [ebp - 0x438], 1
mov dword [ebp - 0x434], 0x1002260
mov dword [ebp - 0x430], 9
mov dword [ebp - 0x42c], 0xa
mov dword [ebp - 0x428], 0xb
jmp 0x1006881
push 0x1001848
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x10062ab
cmp dword [ebp - 0x440], eax
je 0x1006274
cmp dword [ebp - 0x440], 0x1002607
jne 0x10063bc
mov dword [ebp - 0x440], 0x1002607
mov dword [ebp - 0x434], 0x1002726
mov dword [ebp - 0x430], 0xf
mov dword [ebp - 0x42c], 0x10
mov dword [ebp - 0x428], 0x11
jmp 0x1006881
push 0x1001840
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x1006881
push 0x1001838
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x10062e5
push eax
mov byte [0x100901c], al
push 0x1001830
jmp 0x1006431
push 0x1001828
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x1006881
push 0x1001820
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x100631b
mov byte [0x1009067], 1
jmp 0x10067f7
push 0x1001818
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x100633a
mov byte [0x1009068], 1
jmp 0x1006881
push 0x1001810
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1006359
mov byte [0x1009069], 1
jmp 0x1006881
push 0x1001808
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1006378
mov byte [0x1009066], 1
jmp 0x1006881
push 0xa
push 0x10017f0
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x1006392
cmp byte [0x100906b], al
jmp 0x10063b6
push 4
push 0x10017e4
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x10063cf
cmp byte [0x100906b], al
jne 0x1006881
cmp byte [0x1009067], al
jne 0x1006881
push 0
push 0x5a
call fcn.01001cd8
pop ecx
pop ecx
xor eax, eax
inc eax
jmp 0x1006fe2
push 2
push 0x10017dc
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x1006418
mov byte [0x1009064], 1
push 0x3a
push dword [esi]
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x10063bc
lea ecx, [eax + 2]
mov eax, ecx
lea esi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x1006400
sub eax, esi
sar eax, 1
cmp eax, 0x101
jmp 0x100686a
push 0x1001830
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x1006446
push eax
push 0x1001838
push dword [ebp - 0x418]
push dword [ebp + 8]
call fcn.01003948
test al, al
jmp 0x10064f7
push 0x10017d4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x1006881
push 0x10017cc
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x100647c
mov byte [0x100906f], 1
jmp 0x1006881
push 0x10017c4
push dword [esi]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
jne 0x100649b
mov byte [0x100906e], 1
jmp 0x1006881
push 9
push 0x10017b0
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x10064c9
cmp dword [ebp - 0x440], 0x10023e3
je 0x1006881
cmp dword [ebp - 0x440], 0x10022d1
jmp 0x10064f7
push 9
push 0x100179c
push dword [esi]
call edi
add esp, 0xc
test eax, eax
je 0x10064ed
push 5
push 0x1001790
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x1006502
cmp dword [ebp - 0x440], 0x10023e3
jne 0x10063bc
jmp 0x1006881
push 8
push 0x100177c
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x100662b
lea eax, [ebp - 0x474]
push eax
push 0x100179c
push dword [ebp - 0x418]
xor esi, esi
push dword [ebp + 8]
mov dword [ebp - 0x424], esi
mov dword [ebp - 0x474], esi
mov dword [ebp - 0x458], esi
mov dword [ebp - 0x454], esi
call fcn.01003948
test al, al
jne 0x10065c2
lea eax, [ebp - 0x424]
push eax
push 0x10017b0
push dword [ebp - 0x418]
push dword [ebp + 8]
call fcn.01003948
test al, al
jne 0x10065c2
lea eax, [ebp - 0x458]
push eax
push 0x1001790
push dword [ebp - 0x418]
push dword [ebp + 8]
call fcn.01003948
test al, al
je 0x10068a9
cmp dword [ebp - 0x458], esi
je 0x10065c2
lea eax, [ebp - 0x488]
push eax
push dword [ebp - 0x458]
call fcn.01005983
mov esi, eax
test esi, esi
je 0x10065e8
lea eax, [ebp - 0x454]
push 0x1c
push eax
call fcn.01001a02
pop ecx
pop ecx
jmp 0x10065e0
lea eax, [ebp - 0x488]
push eax
push 0
push 0
push dword [ebp - 0x474]
push dword [ebp - 0x424]
call fcn.010037cc
mov esi, eax
test esi, esi
jne 0x10068af
lea eax, [ebp - 0x488]
mov dword [ebp - 0x440], 0x10023e3
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x434], 0x10043b2
mov dword [ebp - 0x430], 0x47
mov dword [ebp - 0x42c], 0x46
mov dword [ebp - 0x428], 0x48
jmp 0x1006881
push 6
push 0x100176c
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x100669a
lea eax, [ebp - 0x46c]
push eax
xor esi, esi
push esi
push esi
push esi
push esi
call fcn.010037cc
cmp eax, esi
jne 0x1006d54
lea eax, [ebp - 0x46c]
mov dword [ebp - 0x440], fcn.010024f5
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x434], 0x100441d
mov dword [ebp - 0x430], 0x57
mov dword [ebp - 0x42c], 0x56
mov dword [ebp - 0x428], 0x58
jmp 0x1006881
push 0xb
push 0x1001754
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x100672b
lea eax, [ebp - 0x47c]
push eax
push 0x10017b0
push dword [ebp - 0x418]
push dword [ebp + 8]
call fcn.01003948
test al, al
je 0x10063bc
lea eax, [ebp - 0x460]
push eax
push dword [ebp - 0x47c]
call fcn.010033fb
test eax, eax
jne 0x1006b3a
lea eax, [ebp - 0x460]
mov dword [ebp - 0x440], 0x10022d1
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x434], 0x1004347
mov dword [ebp - 0x430], 0x51
mov dword [ebp - 0x42c], 0x50
mov dword [ebp - 0x428], 0x52
jmp 0x1006881
push 0xb
push 0x100173c
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x1006763
lea eax, [ebp - 0x478]
push eax
push 0x100172c
push dword [ebp - 0x418]
push dword [ebp + 8]
call fcn.01003948
mov byte [0x1009070], 1
jmp 0x1006881
push 2
push 0x1001724
push dword [esi]
call edi
add esp, 0xc
test eax, eax
je 0x10068db
push 2
push 0x100171c
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x100681e
mov byte [0x100906b], 1
push 0x3a
push dword [esi]
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x10063bc
lea edx, [eax + 2]
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x10067b2
sub eax, esi
sar eax, 1
cmp eax, 0xff
ja 0x100689b
push edx
push ebx
push 0x10093e0
call fcn.01001b6a
push 0
push 0x10017f0
push dword [ebp - 0x418]
push dword [ebp + 8]
call fcn.01003948
test al, al
je 0x10067f7
mov byte [0x100906c], 1
lea eax, [ebp - 0x44c]
push eax
push 0x10017e4
push dword [ebp - 0x418]
push dword [ebp + 8]
call fcn.01003948
test al, al
je 0x1006881
mov byte [ebp - 0x450], 1
jmp 0x1006881
push 2
push 0x1001714
push dword [esi]
call edi
add esp, 0xc
test eax, eax
jne 0x10063bc
mov byte [0x100906a], 1
push 0x3a
push dword [esi]
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x10063bc
lea ecx, [eax + 2]
mov eax, ecx
lea esi, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x1006857
sub eax, esi
sar eax, 1
cmp eax, 0x103
ja 0x100689b
push ecx
push ebx
push 0x10093e0
call fcn.01001b6a
jmp 0x1006881
mov byte [0x1009065], 1
inc dword [ebp - 0x448]
mov eax, dword [ebp - 0x448]
cmp eax, dword [ebp + 8]
jb 0x10061c6
jmp 0x1006975
push 0x6f
push 0
call fcn.01001d2d
jmp 0x10063c5
push esi
jmp 0x10063be
push esi
push dword [ebp - 0x454]
call fcn.01001d2d
cmp dword [ebp - 0x454], 0
pop ecx
pop ecx
je 0x10063c7
push dword [ebp - 0x454]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x10063c7
mov ecx, dword [ebp - 0x448]
xor eax, eax
mov word [ebp - 0x20c], ax
mov word [ebp - 0x414], ax
mov eax, dword [ebp - 0x418]
lea esi, [eax + ecx*4]
mov byte [0x100906d], 1
mov ecx, dword [esi]
mov eax, ecx
lea edx, [eax + 2]
mov di, word [eax]
inc eax
inc eax
test di, di
jne 0x1006908
sub eax, edx
sar eax, 1
cmp eax, 3
jbe 0x1006941
cmp word [ecx + 4], 0x3a
jne 0x1006941
add eax, 0xfffffffd
add ecx, 6
push ecx
cmp eax, ebx
jb 0x1006934
push 0x1b
jmp 0x10063c0
push ebx
lea eax, [ebp - 0x414]
push eax
call fcn.01001b6a
mov eax, dword [ebp - 0x448]
inc eax
cmp eax, dword [ebp + 8]
jae 0x1006975
mov esi, dword [esi + 4]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1006955
sub eax, edx
sar eax, 1
push esi
cmp eax, ebx
jae 0x100692d
push ebx
lea eax, [ebp - 0x20c]
push eax
call fcn.01001b6a
cmp byte [ebp - 0x450], 0
je 0x1006a56
mov eax, dword [ebp - 0x44c]
push 4
mov ecx, 0x100170c
pop esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10069b4
test dx, dx
je 0x10069b0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10069b4
add eax, esi
add ecx, esi
test dx, dx
jne 0x1006990
xor eax, eax
jmp 0x10069b9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10069cc
mov dword [ebp - 0x444], 0x10016f8
jmp 0x1006a56
mov eax, dword [ebp - 0x44c]
mov ecx, 0x10016f0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10069fb
test dx, dx
je 0x10069f7
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10069fb
add eax, esi
add ecx, esi
test dx, dx
jne 0x10069d7
xor eax, eax
jmp 0x1006a00
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1006a10
mov dword [ebp - 0x444], 0x10016dc
jmp 0x1006a56
mov eax, dword [ebp - 0x44c]
mov ecx, 0x10016d4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1006a3f
test dx, dx
je 0x1006a3b
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1006a3f
add eax, esi
add ecx, esi
test dx, dx
jne 0x1006a1b
xor eax, eax
jmp 0x1006a44
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10063bc
mov dword [ebp - 0x444], 0x10016c0
mov esi, 0x10093e0
cmp byte [0x1009067], 0
je 0x1006b28
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0x464], ebx
lea edi, [ebp - 0x460]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp - 0x470], ebx
lea edi, [ebp - 0x46c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor esi, esi
xor eax, eax
mov dword [ebp - 0x424], esi
cmp byte [ebp - 0x450], bl
je 0x1006afd
cmp dword [ebp - 0x444], ebx
je 0x1006afd
push ebx
push ebx
lea eax, [ebp - 0x424]
push eax
push dword [ebp - 0x444]
push 2
call fcn.01004af8
test al, al
jne 0x1006acb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push ebx
jmp 0x100689f
mov esi, dword [ebp - 0x424]
mov eax, dword [esi]
mov dword [ebp - 0x464], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x45c], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x460], eax
lea eax, [ebp - 0x464]
mov dword [ebp - 0x468], eax
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.ADVAPI32.dll_SetUserFileEncryptionKey]
mov edi, eax
cmp esi, ebx
je 0x1006b11
push esi
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
cmp edi, ebx
je 0x1006b18
push edi
jmp 0x1006ac5
call fcn.01002954
cmp eax, ebx
jne 0x1006ac4
xor eax, eax
jmp 0x1006fe2
cmp byte [0x1009068], 0
je 0x1006b40
call fcn.010047ef
test eax, eax
je 0x1006b21
push eax
jmp 0x100689d
cmp byte [0x1009069], 0
jne 0x10063bc
cmp byte [0x100906b], 0
je 0x1006b7b
movzx eax, byte [0x100906c]
push esi
push dword [ebp - 0x444]
push dword [ebp - 0x450]
push eax
call fcn.01004f5d
neg eax
sbb eax, eax
neg eax
jmp 0x1006fe2
cmp byte [0x100906d], 0
je 0x1006b9a
push ebx
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x414]
push eax
call fcn.01005b10
jmp 0x1006b36
cmp byte [0x100906f], 0
je 0x1006baa
call fcn.01002954
jmp 0x1006b70
cmp byte [0x100906a], 0
je 0x1006cb5
xor eax, eax
lea edi, [ebp - 0x460]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x418]
mov dword [ebp - 0x464], eax
lea eax, [ebp - 0x417]
mov byte [ebp - 0x418], 0
mov byte [ebp - 0x417], 0xff
mov dword [ebp - 0x470], 0x2c
mov dword [ebp - 0x46c], 0x2d
mov dword [ebp - 0x468], 0x2e
mov dword [ebp - 0x460], eax
call fcn.01003175
test eax, eax
jne 0x1006c18
push 0x47e
jmp 0x100689d
xor ebx, ebx
push ebx
push 0x2b
call fcn.01001cd8
pop ecx
pop ecx
mov esi, 0x100b620
push dword [ebp + ebx - 0x464]
push 0x80000
push esi
call fcn.01002be8
mov edi, eax
test edi, edi
jne 0x1006ca1
push dword [ebp + ebx - 0x470]
lea eax, [ebp - 0x424]
push eax
call fcn.01001a02
pop ecx
pop ecx
test eax, eax
jne 0x1006c75
push dword [ebp - 0x424]
push 0x2a
call fcn.01001cd8
pop ecx
pop ecx
push dword [ebp - 0x424]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push 0x10093e0
call fcn.010055af
push 0x100153c
mov edi, eax
call dword [sym.imp.msvcrt.dll_printf]
pop ecx
push esi
call fcn.01002dc8
test edi, edi
jne 0x1006caf
add ebx, 4
cmp ebx, 0xc
jb 0x1006c29
jmp 0x1006ca7
push esi
call fcn.01002dc8
test edi, edi
je 0x1006b21
push edi
jmp 0x100689d
cmp byte [0x1009070], 0
je 0x1006ccf
push dword [ebp - 0x478]
call dword [sym.imp.ADVAPI32.dll_FlushEfsCache]
jmp 0x1006b36
cmp dword [ebp - 0x440], 0
mov eax, 0x1003fd0
jne 0x1006d08
and dword [ebp - 0x430], 0
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x434], 0x1001f96
mov dword [ebp - 0x42c], 6
mov dword [ebp - 0x428], 7
cmp byte [0x1009065], 0
mov edi, dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
jne 0x1006dee
cmp byte [0x1009064], 0
je 0x1006d5b
cmp dword [ebp - 0x440], eax
je 0x1006d47
lea eax, [ebp - 0x440]
push eax
push 0x1001558
push ebx
push esi
call fcn.01004044
test al, al
je 0x1006fbb
push esi
call edi
test eax, eax
jne 0x1006d7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
jmp 0x100689f
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
jne 0x1006d72
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x1006b3a
cmp eax, ebx
jae 0x100689b
lea eax, [ebp - 0x41c]
push eax
lea eax, [ebp - 0x20c]
push eax
push ebx
push 0x1001540
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
test eax, eax
je 0x1006d67
cmp eax, ebx
jae 0x100689b
push dword [ebp - 0x41c]
lea eax, [ebp - 0x414]
push ebx
push eax
call fcn.01001b6a
test eax, eax
jl 0x100689b
mov ecx, dword [ebp - 0x41c]
xor eax, eax
mov word [ecx], ax
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x414]
push eax
push ebx
lea eax, [ebp - 0x20c]
push eax
call fcn.01004044
test al, al
jne 0x1006fc5
jmp 0x1006fbb
cmp byte [0x1009064], 0
push esi
jne 0x1006e10
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x1006d67
cmp eax, ebx
jb 0x1006e1a
jmp 0x100689b
call edi
test eax, eax
je 0x1006d4e
xor edi, edi
inc edi
cmp dword [ebp + 8], edi
jbe 0x1006fc5
jmp 0x1006e2d
mov ebx, 0x104
mov eax, dword [ebp - 0x418]
lea esi, [eax + edi*4]
mov eax, dword [esi]
cmp word [eax], 0x2f
je 0x1006eba
push 0x10093e0
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
mov eax, dword [esi]
push 0x2e
pop ecx
cmp cx, word [eax]
jne 0x1006ec9
xor ecx, ecx
cmp cx, word [eax + 2]
jne 0x1006ec9
lea ecx, [ebp - 0x41c]
push ecx
lea ecx, [ebp - 0x20c]
push ecx
mov eax, 0x1001540
push ebx
push eax
mov dword [esi], eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov ecx, dword [ebp - 0x41c]
xor eax, eax
mov word [ecx], ax
and dword [ebp - 0x41c], eax
mov esi, 0x104
xor eax, eax
mov word [ebp - 0x414], ax
lea eax, [ebp - 0x440]
push eax
lea eax, [ebp - 0x414]
push eax
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.01004044
test al, al
je 0x1006fbb
inc edi
cmp edi, dword [ebp + 8]
jb 0x1006e28
jmp 0x1006fc5
lea ecx, [ebp - 0x41c]
push ecx
lea ecx, [ebp - 0x20c]
push ecx
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
mov ebx, eax
test ebx, ebx
je 0x1006fa9
cmp ebx, 0x103
ja 0x1006fa9
push 0x3a
push dword [esi]
call dword [sym.imp.msvcrt.dll_wcschr]
pop ecx
pop ecx
test eax, eax
je 0x1006f17
sub eax, dword [esi]
and eax, 0xfffffffe
cmp eax, 2
jne 0x1006f9c
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esi]
push 0x2e
pop edx
cmp dx, word [ecx + eax*2 - 2]
jne 0x1006f4c
cmp ebx, 0x102
jae 0x1006f9c
push 0x100154c
mov esi, 0x104
push esi
lea eax, [ebp - 0x20c]
push eax
call fcn.010039f0
jmp 0x1006f51
mov esi, 0x104
cmp dword [ebp - 0x41c], 0
je 0x1006e8e
mov eax, dword [ebp - 0x41c]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
test cx, cx
jne 0x1006f67
sub eax, edx
sar eax, 1
cmp eax, esi
jae 0x1006f9c
push dword [ebp - 0x41c]
lea eax, [ebp - 0x414]
push esi
push eax
call fcn.01001b6a
mov ecx, dword [ebp - 0x41c]
xor eax, eax
mov word [ecx], ax
jmp 0x1006e97
mov eax, dword [ebp - 0x418]
push dword [eax + edi*4]
push 0x1b
jmp 0x1006fb4
mov eax, dword [ebp - 0x418]
push dword [eax + edi*4]
push 0x1e
call fcn.01001cd8
pop ecx
pop ecx
mov dword [ebp - 0x420], 1
push 0x10093e0
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push dword [ebp - 0x43c]
call dword [ebp - 0x434]
mov eax, dword [ebp - 0x420]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100741c
leave
ret