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

Disassembly:
push 0xffffffffffffffff
push 0x4e1b2a
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 0x4357c4
push 0x800
lea eax, [esp + 0x190]
push ebx
push eax
call fcn.004728d0
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 0x4359ec
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x4359ec
lea ecx, [esp + 0x18c]
push 0xa
push ecx
mov byte [esp + eax + 0x194], bl
call fcn.0046a1e0
add esp, 8
cmp eax, ebx
jne 0x435290
lea esi, [esp + 0x18c]
jmp 0x4352b3
mov esi, eax
lea edx, [esp + 0x18c]
inc eax
sub esi, edx
push 0xa
push eax
inc esi
call fcn.0046a1e0
add esp, 8
cmp eax, ebx
jne 0x435290
lea esi, [esp + esi + 0x18c]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4352b8
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.0046a970
add esp, 0x14
push 0x16
push str.Enter_Auth_Username:
push esi
call fcn.00469fc0
add esp, 0xc
test eax, eax
jne 0x43532b
push 0x4fd3a8
call fcn.00434890
mov eax, dword [esp + 0x9bc]
add esp, 4
cmp dword [esp + 0x9cc], 0x10
jae 0x435311
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.00469fc0
add esp, 0xc
test eax, eax
jne 0x435390
push 0x4fd3d8
call fcn.00434890
mov eax, dword [esp + 0x9dc]
add esp, 4
cmp dword [esp + 0x9ec], 0x10
jae 0x435364
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.0046a140
add esp, 8
test eax, eax
je 0x4353c8
push 0x4fd40c
call fcn.00434890
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.0046a140
add esp, 8
test eax, eax
je 0x4353ee
push 0x4fd450
call fcn.00434890
add esp, 4
lea ecx, [esp + 0x18c]
push str.Initialization_Sequence_Completed
push ecx
call fcn.0046a140
add esp, 8
test eax, eax
je 0x435426
push 0x4f82b8
call fcn.00434890
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 0x4fd490
push ecx
call fcn.0046a140
add esp, 8
cmp eax, ebx
je 0x43568d
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 0x435477
lea ebx, [esp + 0xec]
lea eax, [esp + 0x40]
push eax
call fcn.00455670
add esp, 4
mov esi, 8
mov byte [esp + 0x99c], 4
cmp dword [eax + 0x1c], esi
jb 0x43549b
mov eax, dword [eax + 8]
jmp 0x43549e
add eax, 8
push eax
lea ecx, [esp + 0x108]
push 0x4f75c4
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 0x4354d0
mov edx, dword [esp + 0x48]
push edx
call fcn.00460940
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.0045e1c0
mov eax, dword [esp + 0x40]
cmp eax, 0xfffffffd
je 0x435515
cmp eax, ebx
je 0x435511
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 0x435500
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x28]
call fcn.0045e200
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 0x4fd500
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 0x4355de
push 0x43c
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VCincludexstring
push str.invalid_null_pointer
call fcn.0045e230
add esp, 0xc
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4355e3
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 0x435623
mov ecx, dword [esp + 0xec]
push ecx
call fcn.00460940
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.0045e1c0
mov eax, dword [esp + 0xe4]
cmp eax, 0xfffffffd
je 0x43567e
cmp eax, ebx
je 0x435677
jmp 0x435660
mov dword [eax], ebx
mov edx, dword [esp + 0xe4]
mov eax, dword [edx + 4]
mov dword [esp + 0xe4], eax
cmp eax, ebx
jne 0x435660
mov dword [esp + 0xe4], ebx
lea ecx, [esp + 0x30]
call fcn.0045e200
mov edi, dword [esp + 0x24]
xor ebx, ebx
lea eax, [esp + 0x18c]
push str.Connection_reset__restarting
push eax
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x43582e
lea ecx, [esp + 0x18c]
push str.AUTH_FAILED
push ecx
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x43587d
lea edx, [esp + 0x18c]
push str.ERROR:__This_version_of_OpenVPN
push edx
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x4358cc
lea eax, [esp + 0x18c]
push str.There_are_no_TAP_Win32_adapters
push eax
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x43591e
lea ecx, [esp + 0x18c]
push str.Connection_timed_out
push ecx
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x435970
lea edx, [esp + 0x18c]
push str.TLS_Error:_TLS_handshake_failed
push edx
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x4359c2
lea eax, [esp + 0x18c]
push str.Connection_refused
push eax
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x4359c2
lea ecx, [esp + 0x18c]
push str.Re_using_SSL_TLS_context
push ecx
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x4359c9
lea edx, [esp + 0x18c]
push str.All_TAP_Win32_adapters_on_this_system_are_currently_in_use
push edx
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x4359d0
lea eax, [esp + 0x18c]
push str.Exiting
push eax
call fcn.0046a140
add esp, 8
cmp eax, ebx
jne 0x4359da
mov ecx, dword [esp + 0x2c]
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x435219
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.00460640
add esp, 0x98c
ret 0x4c
push 0x4fd524
call fcn.00434890
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 0x435804
push 0x4fd548
call fcn.00434890
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 0x435804
push 0x4fd58c
call fcn.00434890
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 0x435804
push 0x4fd5cc
call fcn.00434890
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 0x435804
push 0x4fd600
call fcn.00434890
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 0x435804
push 0x4fd634
jmp 0x435975
push 0x4fd670
jmp 0x435975
push 0x4fd6c0
jmp 0x435923
push 0x4fd6e4
call fcn.00434890
add esp, 4
jmp 0x4357c4
push 0x4fd364
call fcn.00434890
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 0x435a2f
mov edx, dword [esp + 0x9b8]
push edx
call fcn.00460940
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 0x435a79
mov eax, dword [esp + 0x9d8]
push eax
call fcn.00460940
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 0x435804