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

Disassembly:
push 0xffffffffffffffff
push 0x4fe27a
mov eax, dword fs:[0]
push eax
sub esp, 0x980
mov eax, dword [0x5364a8]
xor eax, esp
mov dword [esp + 0x978], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5364a8]
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 0x4549c4
push 0x800
lea eax, [esp + 0x190]
push ebx
push eax
call fcn.0048e0a0
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 0x454bec
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x454bec
lea ecx, [esp + 0x18c]
push 0xa
push ecx
mov byte [esp + eax + 0x194], bl
call fcn.00485960
add esp, 8
cmp eax, ebx
jne 0x454490
lea esi, [esp + 0x18c]
jmp 0x4544b3
mov esi, eax
lea edx, [esp + 0x18c]
inc eax
sub esi, edx
push 0xa
push eax
inc esi
call fcn.00485960
add esp, 8
cmp eax, ebx
jne 0x454490
lea esi, [esp + esi + 0x18c]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4544b8
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.004860f0
add esp, 0x14
push 0x16
push str.Enter_Auth_Username:
push esi
call fcn.00485740
add esp, 0xc
test eax, eax
jne 0x45452b
push 0x51eae8
call fcn.00453a90
mov eax, dword [esp + 0x9bc]
add esp, 4
cmp dword [esp + 0x9cc], 0x10
jae 0x454511
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.00485740
add esp, 0xc
test eax, eax
jne 0x454590
push 0x51eb18
call fcn.00453a90
mov eax, dword [esp + 0x9dc]
add esp, 4
cmp dword [esp + 0x9ec], 0x10
jae 0x454564
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.004858c0
add esp, 8
test eax, eax
je 0x4545c8
push 0x51eb4c
call fcn.00453a90
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.004858c0
add esp, 8
test eax, eax
je 0x4545ee
push 0x51eb90
call fcn.00453a90
add esp, 4
lea ecx, [esp + 0x18c]
push str.Initialization_Sequence_Completed
push ecx
call fcn.004858c0
add esp, 8
test eax, eax
je 0x454626
push 0x514954
call fcn.00453a90
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 0x51ebd0
push ecx
call fcn.004858c0
add esp, 8
cmp eax, ebx
je 0x45488d
lea edx, [esp + 0x18c]
push edx
lea ecx, [esp + 0xe8]
call fcn.00401f20
mov byte [esp + 0x99c], 3
cmp dword [esp + 0x100], 0x10
mov ebx, dword [esp + 0xec]
jae 0x454677
lea ebx, [esp + 0xec]
lea eax, [esp + 0x40]
push eax
call fcn.004716c0
add esp, 4
mov esi, 8
mov byte [esp + 0x99c], 4
cmp dword [eax + 0x1c], esi
jb 0x45469b
mov eax, dword [eax + 8]
jmp 0x45469e
add eax, 8
push eax
lea ecx, [esp + 0x108]
push 0x5145f4
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 0x4546d0
mov edx, dword [esp + 0x48]
push edx
call fcn.0047c0b0
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.00479930
mov eax, dword [esp + 0x40]
cmp eax, 0xfffffffd
je 0x454715
cmp eax, ebx
je 0x454711
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 0x454700
mov dword [esp + 0x40], ebx
lea ecx, [esp + 0x28]
call fcn.00479970
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 0x51ec40
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 0x4547de
push 0x43c
push str.C:Program_Files__x86_Microsoft_Visual_Studio_9.0VCincludexstring
push str.invalid_null_pointer
call fcn.004799a0
add esp, 0xc
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4547e3
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 0x454823
mov ecx, dword [esp + 0xec]
push ecx
call fcn.0047c0b0
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.00479930
mov eax, dword [esp + 0xe4]
cmp eax, 0xfffffffd
je 0x45487e
cmp eax, ebx
je 0x454877
jmp 0x454860
mov dword [eax], ebx
mov edx, dword [esp + 0xe4]
mov eax, dword [edx + 4]
mov dword [esp + 0xe4], eax
cmp eax, ebx
jne 0x454860
mov dword [esp + 0xe4], ebx
lea ecx, [esp + 0x30]
call fcn.00479970
mov edi, dword [esp + 0x24]
xor ebx, ebx
lea eax, [esp + 0x18c]
push str.Connection_reset__restarting
push eax
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454a2e
lea ecx, [esp + 0x18c]
push str.AUTH_FAILED
push ecx
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454a7d
lea edx, [esp + 0x18c]
push str.ERROR:__This_version_of_OpenVPN
push edx
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454acc
lea eax, [esp + 0x18c]
push str.There_are_no_TAP_Win32_adapters
push eax
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454b1e
lea ecx, [esp + 0x18c]
push str.Connection_timed_out
push ecx
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454b70
lea edx, [esp + 0x18c]
push str.TLS_Error:_TLS_handshake_failed
push edx
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454bc2
lea eax, [esp + 0x18c]
push str.Connection_refused
push eax
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454bc2
lea ecx, [esp + 0x18c]
push str.Re_using_SSL_TLS_context
push ecx
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454bc9
lea edx, [esp + 0x18c]
push str.All_TAP_Win32_adapters_on_this_system_are_currently_in_use
push edx
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454bd0
lea eax, [esp + 0x18c]
push str.Exiting
push eax
call fcn.004858c0
add esp, 8
cmp eax, ebx
jne 0x454bda
mov ecx, dword [esp + 0x2c]
push 1
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x454419
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.0047bdb0
add esp, 0x98c
ret 0x4c
push 0x51ec64
call fcn.00453a90
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 0x454a04
push 0x51ec88
call fcn.00453a90
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 0x454a04
push 0x51eccc
call fcn.00453a90
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 0x454a04
push 0x51ed0c
call fcn.00453a90
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 0x454a04
push 0x51ed40
call fcn.00453a90
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 0x454a04
push 0x51ed74
jmp 0x454b75
push 0x51edb0
jmp 0x454b75
push 0x51ee00
jmp 0x454b23
push 0x51ee24
call fcn.00453a90
add esp, 4
jmp 0x4549c4
push 0x51eaa4
call fcn.00453a90
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 0x454c2f
mov edx, dword [esp + 0x9b8]
push edx
call fcn.0047c0b0
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 0x454c79
mov eax, dword [esp + 0x9d8]
push eax
call fcn.0047c0b0
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 0x454a04