Function at 0x4352f0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x4e1c0a
mov eax, dword fs:[0]
push eax
sub esp, 0x980
mov eax, dword [0x5134a8]
xor eax, esp
mov dword [esp + 0x978], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5134a8]
xor eax, esp
push eax
lea eax, [esp + 0x994]
mov dword fs:[0], eax
mov edi, dword [esp + 0x9a4]
mov esi, dword [esp + 0x9a8]
mov eax, dword [esp + 0x9ac]
mov dword [esp + 0x24], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], edx
mov dword [esp + 0x99c], 1
xor ebx, ebx
lea ecx, [esp + 0x104]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], ebx
call dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::constructor_void_]
push 1
push esi
mov byte [esp + 0x9a4], 2
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ebp, dword [sym.imp.LibDui.dll_public:_void___thiscall_DuiLib::CDuiString::destructor_void_]
test eax, eax
je 0x435944
push 0x800
lea eax, [esp + 0x190]
push ebx
push eax
call fcn.00472a40
mov eax, dword [esp + 0x44]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push 0x7ff
lea edx, [esp + 0x198]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x435b6c
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x435b6c
lea ecx, [esp + 0x18c]
push 0xa
push ecx
mov byte [esp + eax + 0x194], bl
call fcn.0046a330
add esp, 8
cmp eax, ebx
jne 0x435410
lea esi, [esp + 0x18c]
jmp 0x435433
mov esi, eax
lea edx, [esp + 0x18c]
inc eax
sub esi, edx
push 0xa
push eax
inc esi
call fcn.0046a330
add esp, 8
cmp eax, ebx
jne 0x435410
lea esi, [esp + esi + 0x18c]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x435438
push 0xffffffffffffffff
sub eax, edx
push esi
inc eax
push eax
mov eax, dword [esp + 0x40]
push eax
lea ecx, [esp + 0x4c]
push ecx
call fcn.0046aac0
add esp, 0x14
push 0x16
push str.Enter_Auth_Username:
push esi
call fcn.0046a110
add esp, 0xc
test eax, eax
jne 0x4354ab
push 0x4fd3c0
call fcn.00434a10
mov eax, dword [esp + 0x9bc]
add esp, 4
cmp dword [esp + 0x9cc], 0x10
jae 0x435491
lea eax, [esp + 0x9b8]
mov ecx, dword [esp + 0x9c8]
push ebx
lea edx, [esp + 0x1c]
push edx
mov edx, dword [esp + 0x24]
push ecx
push eax
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0x16
push str.Enter_Auth_Password:
push esi
call fcn.0046a110
add esp, 0xc
test eax, eax
jne 0x435510
push 0x4fd3f0
call fcn.00434a10
mov eax, dword [esp + 0x9dc]
add esp, 4
cmp dword [esp + 0x9ec], 0x10
jae 0x4354e4
lea eax, [esp + 0x9d8]
mov edx, dword [esp + 0x9e8]
push ebx
lea ecx, [esp + 0x1c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [edi + 0x150]
mov edx, dword [edi + 0x2c]
push 0x14
push ebx
push ecx
call edx
add esp, 0xc
lea eax, [esp + 0x18c]
push str.Peer_Connection_Initiated
push eax
call fcn.0046a290
add esp, 8
test eax, eax
je 0x435548
push 0x4fd424
call fcn.00434a10
mov ecx, dword [edi + 0x150]
mov edx, dword [edi + 0x2c]
add esp, 4
push 0x32
push ebx
push ecx
call edx
add esp, 0xc
lea eax, [esp + 0x18c]
push str.Successful_ARP_Flush_on_interface
push eax
call fcn.0046a290
add esp, 8
test eax, eax
je 0x43556e
push 0x4fd468
call fcn.00434a10
add esp, 4
lea ecx, [esp + 0x18c]
push str.Initialization_Sequence_Completed
push ecx
call fcn.0046a290
add esp, 8
test eax, eax
je 0x4355a6
push 0x4f82d0
call fcn.00434a10
mov edx, dword [edi + 0x150]
mov eax, dword [edi + 0x2c]
add esp, 4
push ebx
push 1
push edx
call eax
add esp, 0xc
lea ecx, [esp + 0x18c]
push 0x4fd4a8
push ecx
call fcn.0046a290
add esp, 8
cmp eax, ebx
je 0x43580d
lea edx, [esp + 0x18c]
push edx
lea ecx, [esp + 0xe8]
call fcn.00401f40
mov byte [esp + 0x99c], 3
cmp dword [esp + 0x100], 0x10
mov ebx, dword [esp + 0xec]
jae 0x4355f7
lea ebx, [esp + 0xec]
lea eax, [esp + 0x40]
push eax
call fcn.004557b0
add esp, 4
mov esi, 8
mov byte [esp + 0x99c], 4
cmp dword [eax + 0x1c], esi
jb 0x43561b
mov eax, dword [eax + 8]
jmp 0x43561e
add eax, 8
push eax
lea ecx, [esp + 0x108]
push 0x4f75dc
push ecx
call dword [sym.imp.LibDui.dll_public:_int___cdecl_DuiLib::CDuiString::Format_wchar_t_const__]
add esp, 0xc
mov byte [esp + 0x99c], 3
cmp dword [esp + 0x5c], esi
jb 0x435650
mov edx, dword [esp + 0x48]
push edx
call fcn.00460a90
add esp, 4
xor eax, eax
xor ebx, ebx
push 3
lea ecx, [esp + 0x2c]
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], ebx
mov word [esp + 0x4c], ax
call fcn.0045e310
mov eax, dword [esp + 0x40]
cmp eax, 0xfffffffd
je 0x435695
cmp eax, ebx
je 0x435691
lea ecx, [ecx]
mov dword [eax], ebx
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 4]
mov dword [esp + 0x40], eax
cmp eax, ebx
jne 0x435680
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x28]
call fcn.0045e350
mov esi, dword [sym.imp.LibDui.dll_public:_int___thiscall_DuiLib::CDuiString::Find_wchar_t_const___int_const]
push ebx
push str.driver_to_set_a_DHCP_IP_netmask_of
lea ecx, [esp + 0x10c]
call esi
push 0x10
add eax, 0x23
push eax
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x110]
call dword [sym.imp.LibDui.dll_public:_class_DuiLib::CDuiString___thiscall_DuiLib::CDuiString::Mid_int__int_]
mov byte [esp + 0x99c], 5
mov edi, dword [sym.imp.LibDui.dll_public:_class_DuiLib::CDuiString_const____thiscall_DuiLib::CDuiString::operator_class_DuiLib::CDuiString_const__]
push eax
lea ecx, [esp + 0x108]
call edi
lea ecx, [esp + 0x60]
mov byte [esp + 0x99c], 3
call ebp
push ebx
push 0x4fd518
lea ecx, [esp + 0x10c]
call esi
push eax
push ebx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x110]
call dword [sym.imp.LibDui.dll_public:_class_DuiLib::CDuiString___thiscall_DuiLib::CDuiString::Mid_int__int_]
push eax
lea ecx, [esp + 0x108]
mov byte [esp + 0x9a0], 6
call edi
lea ecx, [esp + 0x60]
mov byte [esp + 0x99c], 3
call ebp
lea ecx, [esp + 0x104]
call dword [sym.imp.LibDui.dll_public:_wchar_t_const____thiscall_DuiLib::CDuiString::GetData_void_const]
mov edi, eax
cmp edi, ebx
jne 0x43575e
push 0x43c
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VCincludexstring
push str.invalid_null_pointer
call fcn.0045e380
add esp, 0xc
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x435763
mov esi, dword [esp + 0x24]
sub eax, edx
sar eax, 1
push eax
add esi, 0xc
mov eax, edi
call fcn.004086f0
mov byte [esp + 0x99c], 2
cmp dword [esp + 0x100], 0x10
jb 0x4357a3
mov ecx, dword [esp + 0xec]
push ecx
call fcn.00460a90
add esp, 4
push 3
lea ecx, [esp + 0x34]
mov dword [esp + 0x104], 0xf
mov dword [esp + 0x100], ebx
mov byte [esp + 0xf0], bl
call fcn.0045e310
mov eax, dword [esp + 0xe4]
cmp eax, 0xfffffffd
je 0x4357fe
cmp eax, ebx
je 0x4357f7
jmp 0x4357e0
mov dword [eax], ebx
mov edx, dword [esp + 0xe4]
mov eax, dword [edx + 4]
mov dword [esp + 0xe4], eax
cmp eax, ebx
jne 0x4357e0
mov dword [esp + 0xe4], ebx
lea ecx, [esp + 0x30]
call fcn.0045e350
mov edi, dword [esp + 0x24]
xor ebx, ebx
lea eax, [esp + 0x18c]
push str.Connection_reset__restarting
push eax
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x4359ae
lea ecx, [esp + 0x18c]
push str.AUTH_FAILED
push ecx
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x4359fd
lea edx, [esp + 0x18c]
push str.ERROR:__This_version_of_OpenVPN
push edx
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x435a4c
lea eax, [esp + 0x18c]
push str.There_are_no_TAP_Win32_adapters
push eax
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x435a9e
lea ecx, [esp + 0x18c]
push str.Connection_timed_out
push ecx
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x435af0
lea edx, [esp + 0x18c]
push str.TLS_Error:_TLS_handshake_failed
push edx
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x435b42
lea eax, [esp + 0x18c]
push str.Connection_refused
push eax
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x435b42
lea ecx, [esp + 0x18c]
push str.Re_using_SSL_TLS_context
push ecx
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x435b49
lea edx, [esp + 0x18c]
push str.All_TAP_Win32_adapters_on_this_system_are_currently_in_use
push edx
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x435b50
lea eax, [esp + 0x18c]
push str.Exiting
push eax
call fcn.0046a290
add esp, 8
cmp eax, ebx
jne 0x435b5a
mov ecx, dword [esp + 0x2c]
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x435399
lea ecx, [esp + 0x104]
mov byte [esp + 0x99c], 1
call ebp
lea ecx, [esp + 0x9b0]
mov byte [esp + 0x99c], bl
call fcn.00401740
lea ecx, [esp + 0x9d0]
mov dword [esp + 0x99c], 0xffffffff
call fcn.00401740
mov eax, 6
mov ecx, dword [esp + 0x994]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x978]
xor ecx, esp
call fcn.00460790
add esp, 0x98c
ret 0x4c
push 0x4fd53c
call fcn.00434a10
add esp, 4
lea ecx, [esp + 0x104]
mov byte [esp + 0x99c], 1
call ebp
lea ecx, [esp + 0x9b0]
mov byte [esp + 0x99c], bl
call fcn.00401740
lea ecx, [esp + 0x9d0]
mov dword [esp + 0x99c], 0xffffffff
call fcn.00401740
mov eax, 8
jmp 0x435984
push 0x4fd560
call fcn.00434a10
add esp, 4
lea ecx, [esp + 0x104]
mov byte [esp + 0x99c], 1
call ebp
lea ecx, [esp + 0x9b0]
mov byte [esp + 0x99c], bl
call fcn.00401740
lea ecx, [esp + 0x9d0]
mov dword [esp + 0x99c], 0xffffffff
call fcn.00401740
xor eax, eax
jmp 0x435984
push 0x4fd5a4
call fcn.00434a10
add esp, 4
lea ecx, [esp + 0x104]
mov byte [esp + 0x99c], 1
call ebp
lea ecx, [esp + 0x9b0]
mov byte [esp + 0x99c], bl
call fcn.00401740
lea ecx, [esp + 0x9d0]
mov dword [esp + 0x99c], 0xffffffff
call fcn.00401740
mov eax, 2
jmp 0x435984
push 0x4fd5e4
call fcn.00434a10
add esp, 4
lea ecx, [esp + 0x104]
mov byte [esp + 0x99c], 1
call ebp
lea ecx, [esp + 0x9b0]
mov byte [esp + 0x99c], bl
call fcn.00401740
lea ecx, [esp + 0x9d0]
mov dword [esp + 0x99c], 0xffffffff
call fcn.00401740
mov eax, 3
jmp 0x435984
push 0x4fd618
call fcn.00434a10
add esp, 4
lea ecx, [esp + 0x104]
mov byte [esp + 0x99c], 1
call ebp
lea ecx, [esp + 0x9b0]
mov byte [esp + 0x99c], bl
call fcn.00401740
lea ecx, [esp + 0x9d0]
mov dword [esp + 0x99c], 0xffffffff
call fcn.00401740
mov eax, 4
jmp 0x435984
push 0x4fd64c
jmp 0x435af5
push 0x4fd688
jmp 0x435af5
push 0x4fd6d8
jmp 0x435aa3
push 0x4fd6fc
call fcn.00434a10
add esp, 4
jmp 0x435944
push 0x4fd37c
call fcn.00434a10
add esp, 4
lea ecx, [esp + 0x104]
mov byte [esp + 0x99c], 1
call ebp
mov esi, 0x10
mov byte [esp + 0x99c], bl
cmp dword [esp + 0x9cc], esi
jb 0x435baf
mov edx, dword [esp + 0x9b8]
push edx
call fcn.00460a90
add esp, 4
mov edi, 0xf
lea ecx, [esp + 0x9b0]
mov dword [esp + 0x9cc], edi
mov dword [esp + 0x9c8], ebx
mov byte [esp + 0x9b8], bl
call fcn.00401050
mov dword [esp + 0x99c], 0xffffffff
cmp dword [esp + 0x9ec], esi
jb 0x435bf9
mov eax, dword [esp + 0x9d8]
push eax
call fcn.00460a90
add esp, 4
lea ecx, [esp + 0x9d0]
mov dword [esp + 0x9ec], edi
mov dword [esp + 0x9e8], ebx
mov byte [esp + 0x9d8], bl
call fcn.00401050
mov eax, 5
jmp 0x435984