Function at 0x42ddf0
Capabilities:
Get common file path

Disassembly:
sub esp, 0xf14
mov eax, dword [0x6aae14]
xor eax, esp
mov dword [esp + 0xf10], eax
push ebx
xor ebx, ebx
push 0x3ff
lea eax, [esp + 0x319]
push ebx
push eax
mov byte [esp + 0x320], bl
call fcn.005dfd60
push ebx
push 0x400
lea ecx, [esp + 0x328]
push ecx
push 0x60c81c
push str.SpecialFolderPath
push 0x60c810
call fcn.004efe40
add esp, 0x24
cmp byte [esp + 0x314], bl
je 0x42e22d
lea edx, [esp + 0x314]
push ebx
push edx
call fcn.004e8c10
add esp, 8
test eax, eax
je 0x42e22d
push 0x3ff
lea eax, [esp + 0xb19]
push ebx
push eax
mov byte [esp + 0xb20], bl
call fcn.005dfd60
add esp, 0xc
push 0x400
lea ecx, [esp + 0xb18]
push ecx
lea edx, [esp + 0x31c]
push edx
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
cmp byte [esp + 0xb14], bl
je 0x42df23
lea edx, [esp + 0x314]
lea ecx, [esp + 0xb14]
jmp 0x42dec0
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x42dee0
cmp al, bl
je 0x42dedc
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x42dee0
add ecx, 2
add edx, 2
cmp al, bl
jne 0x42dec0
xor eax, eax
jmp 0x42dee5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x42df23
lea eax, [esp + 0xb14]
push eax
push str.SpecialFolderPath
push 0x60c810
call fcn.004efe50
add esp, 0xc
xor eax, eax
jmp 0x42df10
mov cl, byte [esp + eax + 0xb14]
mov byte [esp + eax + 0x314], cl
inc eax
cmp cl, bl
jne 0x42df10
lea ecx, [esp + 0x314]
push edi
push ecx
call fcn.004e2520
lea edi, [esp + 0x31c]
add esp, 4
dec edi
lea esp, [esp]
mov al, byte [edi + 1]
inc edi
cmp al, bl
jne 0x42df40
push esi
mov ecx, 7
mov esi, str.econceal_firewall_rules.xml
rep movsd dword es:[edi], dword [esi]
push ebx
push ebx
push ebx
lea edx, [esp + 0x328]
push ebx
push edx
movsb byte es:[edi], byte [esi]
call fcn.004ec5a0
add esp, 0x14
test eax, eax
jne 0x42e22b
push 0x20
lea eax, [esp + 0x320]
push ebx
push eax
call fcn.004da9f0
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x42e22b
push 0x103
lea ecx, [esp + 0x15]
push ebx
push ecx
mov byte [esp + 0x1c], bl
call fcn.005dfd60
push 0x103
lea edx, [esp + 0x125]
push ebx
push edx
mov byte [esp + 0x12c], bl
call fcn.005dfd60
push 0x3ff
lea eax, [esp + 0x739]
push ebx
push eax
mov byte [esp + 0x740], bl
call fcn.005dfd60
add esp, 0x24
lea ecx, [esp + 0x114]
push ecx
push 0x104
xor esi, esi
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
cmp byte [esp + 0x114], bl
jne 0x42e003
mov dword [esp + 0x114], 0x5c3a63
lea edx, [esp + 0x10]
push edx
push ebx
push 0x61c038
lea eax, [esp + 0x120]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push ebx
push 1
push ebx
push ebx
push edi
lea ecx, [esp + 0x730]
push 0x3fe
push ecx
call fcn.004e1760
add esp, 0x1c
test eax, eax
je 0x42e155
push ebp
mov ebp, dword [esp + 0xf2c]
cmp dword [esp + 0xf28], ebx
je 0x42e0a5
push ebx
lea edx, [esp + 0x724]
push str.Remote_Desktop
push edx
call fcn.004f5880
add esp, 0xc
cmp eax, 0xffffffff
je 0x42e0a5
push ebx
lea eax, [esp + 0x724]
push str.active_1_
push eax
call fcn.004f5880
add esp, 0xc
cmp eax, 0xffffffff
je 0x42e0a5
push str.active_0_
lea ecx, [esp + 0x724]
push str.active_1_
push ecx
mov esi, 1
call fcn.004e9030
add esp, 0xc
cmp ebp, ebx
je 0x42e11d
push ebx
lea edx, [esp + 0x724]
push str.destination_unreachableI_False
push edx
call fcn.004f5880
add esp, 0xc
cmp eax, 0xffffffff
je 0x42e0e3
push str.destination_unreachableI_True
lea eax, [esp + 0x724]
push str.destination_unreachableI_False
push eax
mov esi, 1
call fcn.004e9030
add esp, 0xc
push ebx
lea ecx, [esp + 0x724]
push str.destination_unreachableI_IPV6_False
push ecx
call fcn.004f5880
add esp, 0xc
cmp eax, 0xffffffff
je 0x42e11d
push str.destination_unreachableI_IPV6_True
lea edx, [esp + 0x724]
push str.destination_unreachableI_IPV6_False
push edx
mov esi, 1
call fcn.004e9030
add esp, 0xc
push 1
lea eax, [esp + 0x724]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.004e1620
push ebx
push 1
push ebx
push ebx
push edi
lea edx, [esp + 0x740]
push 0x3fe
push edx
call fcn.004e1760
add esp, 0x28
test eax, eax
jne 0x42e047
pop ebp
push edi
call fcn.005dff6d
add esp, 4
cmp esi, ebx
je 0x42e21e
push ebx
lea eax, [esp + 0x320]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.004edd70
add esp, 0xc
test eax, eax
jne 0x42e1d1
push 0x103
lea edx, [esp + 0x21d]
push ebx
push edx
mov byte [esp + 0x224], bl
call fcn.005dfd60
lea eax, [esp + 0x224]
push 0x104
push eax
call fcn.004d8c20
lea ecx, [esp + 0x22c]
push ecx
lea edx, [esp + 0x334]
push edx
lea eax, [esp + 0x2c]
push eax
push str._FWRULE__Error_copying__s_to__s__Reason:__s
push ebx
call fcn.004f0f30
add esp, 0x28
jmp 0x42e21e
push str.ExpertRule
call fcn.004eae00
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x42e21e
cmp esi, 0xffffffff
je 0x42e21e
lea ecx, [esp + 0xc]
push ecx
push str.SecurityMode
push str.SoftwareMicroWorldEconcealeConceal_FirewallCommon
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [esp + 0x1c], ebx
call fcn.004d5820
cmp al, 1
jne 0x42e217
cmp dword [esp + 0xc], ebx
je 0x42e217
push esi
call dword [sym.imp.KERNEL32.dll_SetEvent]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esp + 0x10]
push edx
call fcn.004e0670
add esp, 4
pop esi
pop edi
mov ecx, dword [esp + 0xf14]
pop ebx
xor ecx, esp
call fcn.005dfbbe
add esp, 0xf14
ret