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

Disassembly:
push 0xffffffffffffffff
push 0x4ff5da
mov eax, dword fs:[0]
push eax
sub esp, 0x980
mov eax, dword [0x5384a8]
xor eax, esp
mov dword [esp + 0x978], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5384a8]
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 0x4554f4
push 0x800
lea eax, [esp + 0x190]
push ebx
push eax
call fcn.0048f390
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 0x45571c
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x45571c
lea ecx, [esp + 0x18c]
push 0xa
push ecx
mov byte [esp + eax + 0x194], bl
call fcn.00486c80
add esp, 8
cmp eax, ebx
jne 0x454fc0
lea esi, [esp + 0x18c]
jmp 0x454fe3
mov esi, eax
lea edx, [esp + 0x18c]
inc eax
sub esi, edx
push 0xa
push eax
inc esi
call fcn.00486c80
add esp, 8
cmp eax, ebx
jne 0x454fc0
lea esi, [esp + esi + 0x18c]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x454fe8
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.00487410
add esp, 0x14
push 0x16
push str.Enter_Auth_Username:
push esi
call fcn.00486a60
add esp, 0xc
test eax, eax
jne 0x45505b
push 0x520920
call fcn.004545c0
mov eax, dword [esp + 0x9bc]
add esp, 4
cmp dword [esp + 0x9cc], 0x10
jae 0x455041
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.00486a60
add esp, 0xc
test eax, eax
jne 0x4550c0
push 0x520950
call fcn.004545c0
mov eax, dword [esp + 0x9dc]
add esp, 4
cmp dword [esp + 0x9ec], 0x10
jae 0x455094
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.00486be0
add esp, 8
test eax, eax
je 0x4550f8
push 0x520984
call fcn.004545c0
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.00486be0
add esp, 8
test eax, eax
je 0x45511e
push 0x5209c8
call fcn.004545c0
add esp, 4
lea ecx, [esp + 0x18c]
push str.Initialization_Sequence_Completed
push ecx
call fcn.00486be0
add esp, 8
test eax, eax
je 0x455156
push 0x516974
call fcn.004545c0
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 0x520a08
push ecx
call fcn.00486be0
add esp, 8
cmp eax, ebx
je 0x4553bd
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 0x4551a7
lea ebx, [esp + 0xec]
lea eax, [esp + 0x40]
push eax
call fcn.00472460
add esp, 4
mov esi, 8
mov byte [esp + 0x99c], 4
cmp dword [eax + 0x1c], esi
jb 0x4551cb
mov eax, dword [eax + 8]
jmp 0x4551ce
add eax, 8
push eax
lea ecx, [esp + 0x108]
push 0x5165fc
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 0x455200
mov edx, dword [esp + 0x48]
push edx
call fcn.0047d3e0
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.0047ac60
mov eax, dword [esp + 0x40]
cmp eax, 0xfffffffd
je 0x455245
cmp eax, ebx
je 0x455241
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 0x455230
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x28]
call fcn.0047aca0
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 0x520a78
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 0x45530e
push 0x43c
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VCincludexstring
push str.invalid_null_pointer
call fcn.0047acd0
add esp, 0xc
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x455313
mov esi, dword [esp + 0x24]
sub eax, edx
sar eax, 1
push eax
add esi, 0xc
mov eax, edi
call fcn.004087e0
mov byte [esp + 0x99c], 2
cmp dword [esp + 0x100], 0x10
jb 0x455353
mov ecx, dword [esp + 0xec]
push ecx
call fcn.0047d3e0
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.0047ac60
mov eax, dword [esp + 0xe4]
cmp eax, 0xfffffffd
je 0x4553ae
cmp eax, ebx
je 0x4553a7
jmp 0x455390
mov dword [eax], ebx
mov edx, dword [esp + 0xe4]
mov eax, dword [edx + 4]
mov dword [esp + 0xe4], eax
cmp eax, ebx
jne 0x455390
mov dword [esp + 0xe4], ebx
lea ecx, [esp + 0x30]
call fcn.0047aca0
mov edi, dword [esp + 0x24]
xor ebx, ebx
lea eax, [esp + 0x18c]
push str.Connection_reset__restarting
push eax
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x45555e
lea ecx, [esp + 0x18c]
push str.AUTH_FAILED
push ecx
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x4555ad
lea edx, [esp + 0x18c]
push str.ERROR:__This_version_of_OpenVPN
push edx
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x4555fc
lea eax, [esp + 0x18c]
push str.There_are_no_TAP_Win32_adapters
push eax
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x45564e
lea ecx, [esp + 0x18c]
push str.Connection_timed_out
push ecx
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x4556a0
lea edx, [esp + 0x18c]
push str.TLS_Error:_TLS_handshake_failed
push edx
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x4556f2
lea eax, [esp + 0x18c]
push str.Connection_refused
push eax
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x4556f2
lea ecx, [esp + 0x18c]
push str.Re_using_SSL_TLS_context
push ecx
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x4556f9
lea edx, [esp + 0x18c]
push str.All_TAP_Win32_adapters_on_this_system_are_currently_in_use
push edx
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x455700
lea eax, [esp + 0x18c]
push str.Exiting
push eax
call fcn.00486be0
add esp, 8
cmp eax, ebx
jne 0x45570a
mov ecx, dword [esp + 0x2c]
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x454f49
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.0047d0e0
add esp, 0x98c
ret 0x4c
push 0x520a9c
call fcn.004545c0
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 0x455534
push 0x520ac0
call fcn.004545c0
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 0x455534
push 0x520b04
call fcn.004545c0
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 0x455534
push 0x520b44
call fcn.004545c0
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 0x455534
push 0x520b78
call fcn.004545c0
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 0x455534
push 0x520bac
jmp 0x4556a5
push 0x520be8
jmp 0x4556a5
push 0x520c38
jmp 0x455653
push 0x520c5c
call fcn.004545c0
add esp, 4
jmp 0x4554f4
push 0x5208dc
call fcn.004545c0
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 0x45575f
mov edx, dword [esp + 0x9b8]
push edx
call fcn.0047d3e0
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 0x4557a9
mov eax, dword [esp + 0x9d8]
push eax
call fcn.0047d3e0
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 0x455534