Function at 0x40a720
Capabilities:
Encrypt data using dpapi

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x258
mov eax, dword [0x426004]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x228], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x224], eax
mov ebx, ecx
mov ecx, dword [ebp + 0x10]
movzx eax, al
push edi
push eax
mov dword [ebp - 0x220], ecx
mov ecx, dword [ebp + 0x18]
push ecx
mov esi, edx
mov edx, dword [ebp + 0x14]
push str.SW2_TRACE_LEVEL_INFO
push str.__23s::SW2_ReadInnerEapMethod__::__ld:__ld_
mov eax, 0x40000
mov dword [ebp - 0x248], esi
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x218], ecx
call fcn.0040b690
push 0x2c24
push 0
push esi
call fcn.00410110
add esp, 0x1c
push 0x10
lea ecx, [ebp - 0x224]
push ecx
lea edi, [esi + 0x2008]
push 0x10
push edi
call fcn.0040f557
add esp, 0x10
cmp dword [0x4285c4], 5
jbe 0x40a7da
cmp byte [edi], 0x1a
jne 0x40a7cf
mov ecx, esi
call fcn.0040ac70
mov edi, eax
test edi, edi
jne 0x40aaeb
push esi
call fcn.0040b350
add esp, 4
jmp 0x40a7e1
mov ecx, esi
call fcn.0040ac70
mov edi, eax
test edi, edi
jne 0x40aaeb
push 0x2000
lea eax, [esi + 4]
push edi
push eax
mov dword [ebp - 0x230], eax
call fcn.00410110
add esp, 0xc
cmp dword [ebx + 0x5288], edi
jbe 0x40a8a1
mov dl, byte [ebx + 0x2c80]
cmp dl, byte [esi + 0x2008]
jne 0x40a8a1
mov eax, dword [ebx + 0x2c8c]
cmp eax, dword [esi + 0x2014]
jne 0x40a8a1
push str.SW2_TRACE_LEVEL_INFO
push str.__23s::SW2_ReadInnerEapMethod__::using_pre_configured_XML_ConnectionData_for_Inner_EAP
mov eax, 0x40000
call fcn.0040b690
mov eax, dword [ebx + 0x5288]
add esp, 8
push 0x2000
cmp eax, 0x2000
ja 0x40a884
mov edx, dword [ebp - 0x230]
lea ecx, [ebx + 0x3288]
push ecx
push 0x2000
push edx
call fcn.0040f557
mov eax, dword [ebx + 0x5288]
add esp, 0x10
mov dword [esi + 0x2004], eax
jmp 0x40aaeb
push eax
push str.SW2_TRACE_LEVEL_WARNING
push str.__23s::SW2_ReadInnerEapMethod__::not_enough_memory_for_inner_eap_ConnectionData___ld__MAX:__ld_
mov eax, 0x20000
call fcn.0040b690
add esp, 0x10
jmp 0x40aaeb
push 0x208
lea ecx, [ebp - 0x214]
push 0
push ecx
call fcn.00410110
mov edx, dword [ebp - 0x228]
add esp, 0xc
push edx
push str.SOFTWARESecureW2MethodsDefaultProfiles
lea eax, [ebp - 0x214]
push str._s_sRASEAP
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [ebp - 0x214]
push ecx
push str.SW2_TRACE_LEVEL_INFO
push str.__23s::SW2_ReadInnerEapMethod__::RegOpenKeyEx___s_
mov eax, 0x40000
call fcn.0040b690
add esp, 0x1c
lea edx, [ebp - 0x23c]
push edx
push 0x20019
push 0
lea eax, [ebp - 0x214]
push eax
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
test edi, edi
jne 0x40aa9f
mov ecx, dword [ebp - 0x23c]
push ecx
lea edi, [ebp - 0x244]
lea eax, [ebp - 0x228]
mov ebx, str.ConnectionData
call fcn.0040c4e0
mov edi, eax
xor eax, eax
add esp, 4
cmp edi, eax
jne 0x40aa2f
mov edx, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x250], edx
lea edx, [ebp - 0x238]
push edx
push 5
push eax
push eax
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], eax
lea eax, [ebp - 0x258]
mov dword [ebp - 0x24c], ecx
push eax
lea ecx, [ebp - 0x240]
push ecx
lea edx, [ebp - 0x250]
push edx
mov dword [ebp - 0x254], str.534543555245573252554c455a544845574f524c44574954484f55544245494e474556494c
mov dword [ebp - 0x258], 0x4b
call dword [sym.imp.CRYPT32.dll_CryptUnprotectData]
test eax, eax
je 0x40aa17
mov eax, dword [ebp - 0x238]
push eax
lea esi, [ebp - 0x22c]
call fcn.0040bae0
mov edi, eax
add esp, 4
test edi, edi
jne 0x40a9e6
mov ebx, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x22c]
push ebx
push ecx
push ebx
push edx
call fcn.0040f557
add esp, 0x10
jmp 0x40a9ec
mov ebx, dword [ebp - 0x228]
mov eax, dword [ebp - 0x240]
mov esi, dword [sym.imp.KERNEL32.dll_LocalFree]
push eax
call esi
mov ecx, dword [ebp - 0x234]
push ecx
call esi
mov esi, dword [ebp - 0x248]
lea eax, [ebp - 0x228]
call fcn.0040bb70
jmp 0x40aa35
mov ebx, dword [ebp - 0x228]
lea eax, [ebp - 0x228]
mov edi, 0x1771
call fcn.0040bb70
jmp 0x40aa35
mov ebx, dword [ebp - 0x228]
test edi, edi
jne 0x40aa90
push str.SW2_TRACE_LEVEL_INFO
push str.__23s::SW2_ReadInnerEapMethod__::using_pre_configured_Registry_ConnectionData_for_Inner_EAP
mov eax, 0x40000
call fcn.0040b690
add esp, 8
cmp ebx, 0x2000
ja 0x40aa77
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x230]
push ebx
push edx
push eax
mov dword [esi + 0x2004], ebx
call fcn.00410190
add esp, 0xc
jmp 0x40aa7c
mov edi, 8
cmp dword [ebp - 0x22c], 0
je 0x40aa90
lea eax, [ebp - 0x22c]
call fcn.0040bb70
mov ecx, dword [ebp - 0x23c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40aab2
push edi
push str.RegOpenKeyEx_FAILED___ld_
mov eax, 0x40000
call fcn.0040b690
add esp, 8
test edi, edi
je 0x40aaeb
push edi
push str.SW2_TRACE_LEVEL_INFO
push str.__23s::SW2_ReadInnerEapMethod__::could_not_read_ConnectionData___ld___using_DEFAULT
mov eax, 0x40000
call fcn.0040b690
mov edx, dword [ebp - 0x230]
add esp, 0xc
push 0x2000
xor edi, edi
push edi
push edx
call fcn.00410110
add esp, 0xc
mov dword [esi + 0x2004], edi
push edi
push str.SW2_TRACE_LEVEL_INFO
push str.__23s::SW2_ReadInnerEapMethod__::returning__ld
mov eax, 0x40000
call fcn.0040b690
mov ecx, dword [ebp - 8]
add esp, 0xc
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040f43d
mov esp, ebp
pop ebp
ret