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

Disassembly:
push 0xffffffffffffffff
push 0x4fb91a
mov eax, dword fs:[0]
push eax
sub esp, 0x980
mov eax, dword [0x5344a8]
xor eax, esp
mov dword [esp + 0x978], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5344a8]
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 0x4524c4
push 0x800
lea eax, [esp + 0x190]
push ebx
push eax
call fcn.0048ba50
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 0x4526ec
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x4526ec
lea ecx, [esp + 0x18c]
push 0xa
push ecx
mov byte [esp + eax + 0x194], bl
call fcn.00483360
add esp, 8
cmp eax, ebx
jne 0x451f90
lea esi, [esp + 0x18c]
jmp 0x451fb3
mov esi, eax
lea edx, [esp + 0x18c]
inc eax
sub esi, edx
push 0xa
push eax
inc esi
call fcn.00483360
add esp, 8
cmp eax, ebx
jne 0x451f90
lea esi, [esp + esi + 0x18c]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x451fb8
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.00483af0
add esp, 0x14
push 0x16
push str.Enter_Auth_Username:
push esi
call fcn.00483140
add esp, 0xc
test eax, eax
jne 0x45202b
push 0x51c648
call fcn.00451590
mov eax, dword [esp + 0x9bc]
add esp, 4
cmp dword [esp + 0x9cc], 0x10
jae 0x452011
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.00483140
add esp, 0xc
test eax, eax
jne 0x452090
push 0x51c678
call fcn.00451590
mov eax, dword [esp + 0x9dc]
add esp, 4
cmp dword [esp + 0x9ec], 0x10
jae 0x452064
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.004832c0
add esp, 8
test eax, eax
je 0x4520c8
push 0x51c6ac
call fcn.00451590
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.004832c0
add esp, 8
test eax, eax
je 0x4520ee
push 0x51c6f0
call fcn.00451590
add esp, 4
lea ecx, [esp + 0x18c]
push str.Initialization_Sequence_Completed
push ecx
call fcn.004832c0
add esp, 8
test eax, eax
je 0x452126
push 0x51292c
call fcn.00451590
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 0x51c730
push ecx
call fcn.004832c0
add esp, 8
cmp eax, ebx
je 0x45238d
lea edx, [esp + 0x18c]
push edx
lea ecx, [esp + 0xe8]
call fcn.00401f10
mov byte [esp + 0x99c], 3
cmp dword [esp + 0x100], 0x10
mov ebx, dword [esp + 0xec]
jae 0x452177
lea ebx, [esp + 0xec]
lea eax, [esp + 0x40]
push eax
call fcn.0046f0e0
add esp, 4
mov esi, 8
mov byte [esp + 0x99c], 4
cmp dword [eax + 0x1c], esi
jb 0x45219b
mov eax, dword [eax + 8]
jmp 0x45219e
add eax, 8
push eax
lea ecx, [esp + 0x108]
push 0x5125e4
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 0x4521d0
mov edx, dword [esp + 0x48]
push edx
call fcn.00479ac0
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.00477370
mov eax, dword [esp + 0x40]
cmp eax, 0xfffffffd
je 0x452215
cmp eax, ebx
je 0x452211
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 0x452200
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x28]
call fcn.004773b0
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 0x51c7a0
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 0x4522de
push 0x43c
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VCincludexstring
push str.invalid_null_pointer
call fcn.004773e0
add esp, 0xc
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4522e3
mov esi, dword [esp + 0x24]
sub eax, edx
sar eax, 1
push eax
add esi, 0xc
mov eax, edi
call fcn.004086a0
mov byte [esp + 0x99c], 2
cmp dword [esp + 0x100], 0x10
jb 0x452323
mov ecx, dword [esp + 0xec]
push ecx
call fcn.00479ac0
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.00477370
mov eax, dword [esp + 0xe4]
cmp eax, 0xfffffffd
je 0x45237e
cmp eax, ebx
je 0x452377
jmp 0x452360
mov dword [eax], ebx
mov edx, dword [esp + 0xe4]
mov eax, dword [edx + 4]
mov dword [esp + 0xe4], eax
cmp eax, ebx
jne 0x452360
mov dword [esp + 0xe4], ebx
lea ecx, [esp + 0x30]
call fcn.004773b0
mov edi, dword [esp + 0x24]
xor ebx, ebx
lea eax, [esp + 0x18c]
push str.Connection_reset__restarting
push eax
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x45252e
lea ecx, [esp + 0x18c]
push str.AUTH_FAILED
push ecx
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x45257d
lea edx, [esp + 0x18c]
push str.ERROR:__This_version_of_OpenVPN
push edx
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x4525cc
lea eax, [esp + 0x18c]
push str.There_are_no_TAP_Win32_adapters
push eax
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x45261e
lea ecx, [esp + 0x18c]
push str.Connection_timed_out
push ecx
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x452670
lea edx, [esp + 0x18c]
push str.TLS_Error:_TLS_handshake_failed
push edx
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x4526c2
lea eax, [esp + 0x18c]
push str.Connection_refused
push eax
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x4526c2
lea ecx, [esp + 0x18c]
push str.Re_using_SSL_TLS_context
push ecx
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x4526c9
lea edx, [esp + 0x18c]
push str.All_TAP_Win32_adapters_on_this_system_are_currently_in_use
push edx
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x4526d0
lea eax, [esp + 0x18c]
push str.Exiting
push eax
call fcn.004832c0
add esp, 8
cmp eax, ebx
jne 0x4526da
mov ecx, dword [esp + 0x2c]
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x451f19
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.004797c0
add esp, 0x98c
ret 0x4c
push 0x51c7c4
call fcn.00451590
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 0x452504
push 0x51c7e8
call fcn.00451590
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 0x452504
push 0x51c82c
call fcn.00451590
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 0x452504
push 0x51c86c
call fcn.00451590
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 0x452504
push 0x51c8a0
call fcn.00451590
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 0x452504
push 0x51c8d4
jmp 0x452675
push 0x51c910
jmp 0x452675
push 0x51c960
jmp 0x452623
push 0x51c984
call fcn.00451590
add esp, 4
jmp 0x4524c4
push 0x51c604
call fcn.00451590
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 0x45272f
mov edx, dword [esp + 0x9b8]
push edx
call fcn.00479ac0
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 0x452779
mov eax, dword [esp + 0x9d8]
push eax
call fcn.00479ac0
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 0x452504