Function at 0x409f90
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e6cfe
mov eax, dword fs:[0]
push eax
sub esp, 0x1cc
mov eax, dword [0x50b0b0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x124], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 7
mov word [ebp - 0xb8], ax
lea ecx, [ebp - 0x120]
mov dword [ebp - 4], eax
call fcn.00402b70
mov dword [ebp - 0x1d8], 0x4ead64
mov dword [ebp - 0x1c8], 0x4ead6c
mov dword [ebp - method.std::basic_ios_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ios_char__struct_std::char_traits_char__.0
push 0
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x124], 1
call fcn.00402540
mov eax, dword [ebp - 0x1d8]
push 8
mov dword [ebp - 4], 3
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x1dc], eax
mov dword [ebp - method.std::basic_streambuf_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004bf24b
mov esi, eax
add esp, 4
test esi, esi
je 0x40a090
push 1
mov byte [ebp - 4], 4
call fcn.004ab76b
add esp, 4
mov dword [esi + 4], eax
jmp 0x40a092
xor esi, esi
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x18c], esi
mov dword [ebp - 0x1b4], eax
lea eax, [ebp - 0x1b8]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x1ac]
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x1a8]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x19c]
mov dword [ebp - 0x194], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1a8], 0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1ac], 0
mov dword [ebp - 0x19c], 0
mov dword [ebp - method.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
lea eax, [ebp - 0x58]
mov byte [ebp - 4], 5
push eax
push str.username
mov ecx, edi
call fcn.004a1d80
mov ecx, eax
call fcn.004a2b20
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 6
push eax
push str.proxy_username
mov ecx, edi
call fcn.004a1d80
mov ecx, eax
call fcn.004a2b20
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 7
push eax
call fcn.004062b0
add esp, 4
test eax, eax
jns 0x40a192
or esi, 0xffffffff
jmp 0x40a719
push str.ActiveBackupforBusinessAgentINFO
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.00401a40
add esp, 0xc
cmp dword [eax + 0x14], 8
mov ecx, eax
mov byte [ebp - 4], 8
jb 0x40a1bb
mov ecx, dword [eax]
mov eax, dword [eax + 0x10]
lea eax, [ecx + eax*2]
push eax
push ecx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x120]
call fcn.0040dff0
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0xa
call fcn.00403870
cmp dword [ebp - 0x8c], 0x10
lea eax, [ebp - 0xa0]
push 0x4eadd8
cmovae eax, dword [ebp - 0xa0]
push eax
call fcn.004c907f
add esp, 8
mov dword [ebp - 0x128], eax
test eax, eax
jne 0x40a218
or esi, 0xffffffff
jmp 0x40a6c4
push 0xffffffffffffffff
push 0x4eaca0
lea ecx, [ebp - 0x58]
call fcn.0040d6b0
cmp eax, 0xffffffff
je 0x40a38a
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00407120
mov eax, dword [ebp - 0x18]
add esp, 8
test eax, eax
je 0x40a352
lea esi, [eax + 2]
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov dword [ebp - 0x124], 7
cmp esi, 0xf
jbe 0x40a2cf
cmp esi, 0x7fffffff
ja 0x40a81a
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x40a2a7
mov esi, SysReAllocString
jmp 0x40a2b1
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x40]
call fcn.0040aef0
mov cl, byte [ebp - 0x40]
mov dword [ebp - 0x2c], esi
mov byte [eax], cl
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x30], 0
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x40]
push eax
call fcn.0040b100
push 2
push 0x4eaddc
lea ecx, [ebp - 0x40]
call fcn.0040b100
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00401730
add esp, 0xc
lea ecx, [ebp - 0x58]
push eax
call fcn.00404100
lea ecx, [ebp - 0x70]
call fcn.00403820
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xb
cmp edx, 0x10
jb 0x40a352
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a348
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a81f
push edx
push ecx
call fcn.004bf27b
add esp, 8
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xa
cmp edx, 0x10
jb 0x40a38a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a380
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a829
push edx
push ecx
call fcn.004bf27b
add esp, 8
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
push str.proxy_domain
call fcn.004a1d80
mov ecx, eax
call fcn.004a2b20
lea ecx, [ebp - 0x70]
mov esi, dword [eax + 0x10]
call fcn.00403820
test esi, esi
je 0x40a492
lea eax, [ebp - 0x40]
mov ecx, edi
push eax
push str.proxy_domain
call fcn.004a1d80
mov ecx, eax
call fcn.004a2b20
push 2
push 0x4eaddc
mov ecx, eax
mov byte [ebp - 4], 0xd
call fcn.0040b100
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x28], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x18], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00401730
add esp, 0xc
lea ecx, [ebp - 0x88]
push eax
call fcn.00404100
lea ecx, [ebp - 0x70]
call fcn.00403820
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xd
cmp edx, 0x10
jb 0x40a474
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a46a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a824
push edx
push ecx
call fcn.004bf27b
add esp, 8
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 0xa
call fcn.00403820
lea eax, [ebp - 0x1c8]
push str._CONNECTION__n
push eax
call fcn.004010f0
add esp, 8
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
push str.address
call fcn.004a1d80
mov ecx, eax
call fcn.004a2b20
mov esi, eax
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0xf
push str.ADDRESS
push eax
call fcn.004010f0
add esp, 8
mov ecx, esi
cmp dword [esi + 0x14], 0x10
jb 0x40a4e1
mov ecx, dword [esi]
push 0x4eae00
push dword [esi + 0x10]
push ecx
push eax
call fcn.00401f70
add esp, 0xc
push eax
call fcn.004010f0
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x70]
call fcn.00403820
lea eax, [ebp - 0x1c8]
push str.ACCOUNT
push eax
call fcn.004010f0
add esp, 8
lea ecx, [ebp - 0x58]
cmp dword [ebp - 0x44], 0x10
cmovae ecx, dword [ebp - 0x58]
push 0x4eae00
push dword [ebp - 0x48]
push ecx
push eax
call fcn.00401f70
add esp, 0xc
push eax
call fcn.004010f0
lea eax, [ebp - 0x1c8]
push str._PROXY__n
push eax
call fcn.004010f0
add esp, 0x10
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
push str.proxy_ip
call fcn.004a1d80
mov ecx, eax
call fcn.004a2b20
mov esi, eax
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x10
push str.ADDRESS
push eax
call fcn.004010f0
add esp, 8
mov ecx, esi
cmp dword [esi + 0x14], 0x10
jb 0x40a58e
mov ecx, dword [esi]
push 0x4eae00
push dword [esi + 0x10]
push ecx
push eax
call fcn.00401f70
add esp, 0xc
push eax
call fcn.004010f0
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x70]
call fcn.00403820
lea eax, [ebp - 0x70]
mov ecx, edi
push eax
push str.proxy_port
call fcn.004a1d80
mov ecx, eax
call fcn.004a2b20
mov esi, eax
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x11
push str.PORT
push eax
call fcn.004010f0
add esp, 8
mov ecx, esi
cmp dword [esi + 0x14], 0x10
jb 0x40a5f0
mov ecx, dword [esi]
push 0x4eae00
push dword [esi + 0x10]
push ecx
push eax
call fcn.00401f70
add esp, 0xc
push eax
call fcn.004010f0
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x70]
call fcn.00403820
lea eax, [ebp - 0x1c8]
push str.ACCOUNT
push eax
call fcn.004010f0
add esp, 8
lea ecx, [ebp - 0x88]
cmp dword [ebp - 0x74], 0x10
cmovae ecx, dword [ebp - 0x88]
push 0x4eae00
push dword [ebp - 0x78]
push ecx
push eax
call fcn.00401f70
add esp, 0xc
push eax
call fcn.004010f0
lea eax, [ebp - 0x1c8]
push str.PASSWORD_n
push eax
call fcn.004010f0
add esp, 0x10
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x1d8]
push eax
call fcn.0040ddc0
mov edi, eax
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x1d8]
call fcn.0040ddc0
cmp dword [eax + 0x14], 0x10
jb 0x40a694
mov eax, dword [eax]
mov esi, dword [ebp - 0x128]
push esi
push dword [edi + 0x10]
push 1
push eax
call fcn.004c92b5
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.00403820
lea ecx, [ebp - 0x28]
call fcn.00403820
push esi
call fcn.004c8f44
add esp, 4
xor esi, esi
mov edx, dword [ebp - 0x8c]
cmp edx, 0x10
jb 0x40a6fe
mov ecx, dword [ebp - 0xa0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a6f4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a829
push edx
push ecx
call fcn.004bf27b
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
mov edx, dword [ebp - 0x74]
cmp edx, 0x10
jb 0x40a750
mov ecx, dword [ebp - 0x88]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a746
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a829
push edx
push ecx
call fcn.004bf27b
add esp, 8
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0xf
mov byte [ebp - 0x88], 0
cmp edx, 0x10
jb 0x40a799
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a78f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a829
push edx
push ecx
call fcn.004bf27b
add esp, 8
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
call fcn.00404240
lea ecx, [ebp - 0x120]
call fcn.00403b90
mov edx, dword [ebp - 0xa4]
cmp edx, 8
jb 0x40a7fd
mov ecx, dword [ebp - 0xb8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40a7f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40a829
push edx
push ecx
call fcn.004bf27b
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004bf6e8
mov esp, ebp
pop ebp
ret
call fcn.0040aed0
call fcn.004c4b9a
call fcn.004c4b9a
call fcn.004c4b9a
int3