Function at 0x408ab0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xaac
mov eax, dword [0x456d10]
xor eax, esp
mov dword [esp + 0xaa8], eax
push ebx
push esi
push edi
push 0x47b774
push 0xa
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
cmp byte [0x45a54f], 0
mov dword [0x45a94c], 2
jne 0x408b04
push 0
xor edx, edx
mov ecx, edi
call fcn.00418630
add esp, 4
mov ebx, dword [sym.imp.WS2_32.dll_select]
lea ebx, [ebx]
push str.thereisdata_select_n
push 4
mov dword [esp + 0x9b4], edi
mov dword [esp + 0x9b0], 1
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
call fcn.0041a380
add esp, 8
lea eax, [esp + 0x14]
push eax
push 0
push 0
lea eax, [esp + 0x9b4]
push eax
push 0
call ebx
mov esi, eax
push esi
push str.thereisdata_select___d_n
push 4
call fcn.0041a380
add esp, 0xc
test esi, esi
jle 0x408b78
call fcn.00410c90
call fcn.00414d60
jmp 0x408b10
call fcn.00409360
cmp byte [0x45a54f], 0
mov ecx, dword [0x47b774]
mov dword [0x45a964], ecx
jne 0x408b9d
call fcn.00406d60
mov ecx, dword [0x47b774]
xor eax, eax
cmp dword [0x45a580], eax
cmovne eax, dword [0x45a55c]
push eax
lea eax, [esp + 0x24]
push eax
push ecx
call fcn.0041e410
add esp, 0xc
call fcn.00404d40
push str.CRTERM
push 0
lea eax, [esp + 0x18]
push 0
push eax
call fcn.00427325
mov eax, dword [esp + 0x20]
add esp, 0x10
test eax, eax
je 0x408c0c
inc eax
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push str.CRTERM
push dword [esp + 0x14]
mov dword [0x45ae5c], eax
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.00427325
mov esi, dword [0x45ae5c]
add esp, 0x10
jmp 0x408c14
xor esi, esi
mov dword [0x45ae5c], esi
mov edx, dword [0x457dcc]
cmp edx, 7
jne 0x408dc4
test esi, esi
je 0x408dc4
mov ecx, esi
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408c30
sub ecx, ebx
cmp ecx, 3
jb 0x408dc4
cmp dword [0x45ad3c], 1
je 0x408dda
push 2
push 0x450108
push esi
call fcn.004267a7
add esp, 0xc
test eax, eax
jne 0x408cb0
mov edx, dword [0x45ae5c]
mov ecx, edx
lea esi, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408c70
sub ecx, esi
lea eax, [edx - 2]
add eax, ecx
push eax
call fcn.0042779b
add esp, 4
test eax, eax
jle 0x408ca1
xor ecx, ecx
cmp eax, 0x32
sete cl
add ecx, 3
mov dword [0x457dcc], ecx
jmp 0x408da8
mov dword [0x457dcc], 3
jmp 0x408da8
push 3
push 0x45010c
push dword [0x45ae5c]
call fcn.004267a7
add esp, 0xc
test eax, eax
jne 0x408cd8
mov dword [0x457dcc], 5
jmp 0x408da8
push 3
push 0x450110
push dword [0x45ae5c]
call fcn.004267a7
add esp, 0xc
test eax, eax
jne 0x408d15
push 0x450114
push dword [0x45ae5c]
call fcn.004266cb
add esp, 8
neg eax
sbb eax, eax
neg eax
inc eax
mov dword [0x457dcc], eax
jmp 0x408da8
push 2
push 0x45011c
push dword [0x45ae5c]
call fcn.004267a7
add esp, 0xc
test eax, eax
jne 0x408d3a
mov dword [0x457dcc], 2
jmp 0x408da8
push 2
push 0x450120
push dword [0x45ae5c]
call fcn.004267a7
add esp, 0xc
test eax, eax
je 0x408d9e
push 2
push 0x450124
push dword [0x45ae5c]
call fcn.004267a7
add esp, 0xc
test eax, eax
je 0x408d9e
push 5
push str.xterm
push dword [0x45ae5c]
call fcn.004267a7
add esp, 0xc
test eax, eax
jne 0x408d91
mov dword [0x457dcc], 2
jmp 0x408da8
mov edx, 7
mov dword [0x457dcc], edx
jmp 0x408dc4
mov dword [0x457dcc], 6
push dword [0x45ae5c]
lea eax, [esp + 0x8ac]
push eax
call fcn.004099f0
mov edx, dword [0x457dcc]
add esp, 8
cmp dword [0x45ad3c], 1
jne 0x408f10
cmp edx, 6
je 0x408f10
cmp byte [0x45a54d], 0
mov eax, dword [0x45a96c]
mov esi, eax
mov dword [esp + 0x14], 0
jne 0x408e77
mov ecx, dword [0x45a938]
cmp edi, ecx
je 0x408e14
cmp edi, eax
je 0x408e16
cmp edi, dword [0x45aa7c]
je 0x408e16
test edi, edi
je 0x408e16
mov ecx, edi
jmp 0x408e68
mov esi, ecx
cmp dword [0x45aa80], 0
je 0x408e37
cmp esi, eax
jne 0x408e37
push 0x7a
push str._r_nTerminal_Type___r_n1.__vtxxx_r_n2.__ansi_r_n3.__wyse_60_and_above_r_n4.__wyse_50_r_n5.__ibm3151_r_n6.__xterm_r_n_r_nPlease_choose_1_6_:
push 0x45a828
call fcn.0041c5b0
add esp, 0xc
push 0
push dword [0x45af78]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x408e77
push 0
lea eax, [esp + 0x18]
push eax
push 0x7a
push str._r_nTerminal_Type___r_n1.__vtxxx_r_n2.__ansi_r_n3.__wyse_60_and_above_r_n4.__wyse_50_r_n5.__ibm3151_r_n6.__xterm_r_n_r_nPlease_choose_1_6_:
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [0x45a958]
test ecx, ecx
je 0x408e77
push 0x7a
mov edx, str._r_nTerminal_Type___r_n1.__vtxxx_r_n2.__ansi_r_n3.__wyse_60_and_above_r_n4.__wyse_50_r_n5.__ibm3151_r_n6.__xterm_r_n_r_nPlease_choose_1_6_:
call fcn.00404560
add esp, 4
mov ecx, str.123456
call fcn.004088b0
movsx eax, al
add eax, 0xffffffcf
cmp eax, 5
ja case.default.0x408e90
jmp dword [eax*4 + 0x4092e8]
push str.vt220
lea eax, [esp + 0x8ac]
push eax
call fcn.004099f0
mov dword [0x457dcc], 2
jmp 0x408f31
push str.ansi
jmp 0x408e9c
lea eax, [esp + 0x8a8]
push str.wyse_60
push eax
call fcn.004099f0
mov dword [0x457dcc], 3
jmp 0x408f31
lea eax, [esp + 0x8a8]
push str.wyse_50
push eax
call fcn.004099f0
mov dword [0x457dcc], 4
jmp 0x408f31
mov dword [0x457dcc], 5
push 0x450158
jmp 0x408f24
push str.xterm
jmp 0x408f1a
cmp edx, 7
jne case.default.0x408e90
push str.vt220
mov dword [0x457dcc], 2
lea eax, [esp + 0x8ac]
push eax
call fcn.004099f0
add esp, 8
lea eax, [esp + 0x8a8]
push eax
push str.TERM
call fcn.00427ef4
mov eax, dword [0x45ae5c]
add esp, 8
test eax, eax
je 0x408fcf
test byte [0x457e44], 2
je 0x408fc2
lea eax, [esp + 0x8a8]
push eax
lea eax, [esp + 0x930]
push eax
call fcn.00409a10
lea eax, [esp + 0x934]
push eax
push dword [0x45ae5c]
lea eax, [esp + 0x8b8]
push str.Client_reported_TERM_s_r_nSession_TERM_s_r_n
push eax
call fcn.004099f0
lea ecx, [esp + 0x8c0]
add esp, 0x18
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408fa0
push 0
sub ecx, edx
lea eax, [esp + 0x8ac]
push ecx
push eax
push edi
call fcn.004045f0
mov eax, dword [0x45ae5c]
add esp, 0x10
test eax, eax
je 0x408fcf
push eax
call fcn.0041b930
add esp, 4
mov ecx, dword [0x457dcc]
xor edx, edx
mov eax, dword [0x45a94c]
cmp ecx, 6
cmove eax, edx
cmp dword [0x45ac24], 1
mov dword [0x45a94c], eax
jne 0x40906a
cmp dword [0x45a970], edx
jne 0x40906a
cmp ecx, 6
je 0x40906a
push edx
push 0x51
push str._r_nChoose_your_screen_mode___Full_Console__Advanced_Console__or_Stream___:__f_a_s_
push edi
call fcn.004045f0
add esp, 0x10
mov ecx, str.fasFAS
call fcn.004088b0
movsx eax, al
add eax, 0xffffffbf
cmp eax, 0x32
ja case.0x40902a.66
movzx eax, byte [eax + 0x409310]
jmp dword [eax*4 + 0x409300]
mov dword [0x45a94c], 0
jmp case.0x40902a.66
mov dword [0x45a94c], 2
jmp case.0x40902a.66
mov dword [0x45a94c], 1
push 0
push 4
push str._r_n_r_n
push edi
call fcn.004045f0
mov eax, dword [0x45a94c]
add esp, 0x10
cmp eax, 3
ja case.default.0x40906f
jmp dword [eax*4 + 0x409344]
push str.Console
jmp 0x409090
push str.Stream
jmp 0x409090
push str.AdvancedConsole
jmp 0x409090
push str.FullStream
push 0x104
push 0x45a978
call fcn.004268c3
add esp, 0xc
push 0x45a978
push str.PRAGMASYS_SCREEN_MODE
call fcn.00427ef4
mov eax, dword [0x45a94c]
add esp, 8
mov ebx, str.SoftwarePragmaSystemsWSMan
mov esi, str.SoftwarePragmaSystemsTelnetD
test eax, eax
je 0x4090d0
cmp eax, 2
jne 0x4091e1
mov cl, byte [0x45a950]
cmp cl, 1
jne 0x4090e2
mov eax, str.SoftwarePragmaSystemsSSHD
jmp 0x4090ea
cmp cl, 3
mov eax, ebx
cmovne eax, esi
push 0
push dword [0x45a964]
lea ecx, [esp + 0x24]
push ecx
push str.CharMap
push eax
push 0x45aaf0
push 0x45a718
call fcn.0041ae90
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x409165
mov cl, byte [0x45a950]
cmp cl, 1
jne 0x409127
mov eax, str.SoftwarePragmaSystemsSSHD
jmp 0x409134
cmp cl, 3
mov eax, ebx
mov ecx, str.SoftwarePragmaSystemsTelnetD
cmovne eax, ecx
push 0
push dword [0x45a964]
lea ecx, [esp + 0x1c]
push ecx
push str.CharMap
push eax
push 0
push str.Default
call fcn.0041ae90
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x409165
mov byte [esp + 0x8a8], al
jmp 0x40918d
cmp byte [esi], 0x5b
lea eax, [esp + 0x8a8]
push esi
je 0x40917f
push str.__s_
push eax
call fcn.004099f0
jmp 0x40918a
push 0x80
push eax
call fcn.00427b16
add esp, 0xc
push esi
call fcn.0041b930
add esp, 4
call fcn.0041cb00
push ecx
lea eax, [esp + 0x944]
push eax
push ecx
lea edx, [esp + 0x9b4]
lea ecx, [esp + 0x8b4]
call fcn.004188d0
add esp, 0xc
test eax, eax
je 0x4091d7
lea eax, [esp + 0x940]
push eax
lea eax, [esp + 0x9ac]
push eax
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x45a94c]
mov esi, str.SoftwarePragmaSystemsTelnetD
test eax, eax
je 0x4091ea
cmp eax, 2
jne 0x409246
cmp dword [0x45ac1c], 0
jne 0x409246
cmp dword [0x45ad38], 1
jne 0x409246
push 0
push 0x18
push str.Do_you_want_color___Y_N_
push edi
call fcn.004045f0
add esp, 0x10
mov ecx, str.ynYN
call fcn.004088b0
cmp al, 0x79
je 0x40922a
mov dword [0x45ac1c], 1
cmp al, 0x59
jne 0x409234
mov dword [0x45ac1c], 0
push 0
push 4
push str._r_n_r_n
push edi
call fcn.004045f0
add esp, 0x10
mov al, byte [0x45a950]
cmp al, 1
jne 0x409256
mov ebx, str.SoftwarePragmaSystemsSSHD
jmp 0x40925b
cmp al, 3
cmovne ebx, esi
push 0
push dword [0x45a964]
lea eax, [esp + 0x24]
push eax
push str.DECCharSet
push ebx
push 0x45aaf0
push 0x45a718
call fcn.0041ae90
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x409293
push esi
call fcn.0042779b
add esp, 4
mov ebx, eax
jmp 0x409298
mov ebx, 2
push esi
call fcn.0041b930
add esp, 4
cmp byte [0x45a54f], 0
jne 0x4092cc
mov eax, dword [0x45a94c]
test eax, eax
je 0x4092bc
cmp eax, 2
je 0x4092bc
xor edx, edx
jmp 0x4092c1
mov edx, 1
push ebx
mov ecx, edi
call fcn.00418630
add esp, 4
mov ecx, dword [esp + 0xab4]
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004265fb
mov esp, ebp
pop ebp
ret