Function at 0x43534b
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x98dc
call fcn.00612c90
mov eax, dword [0x6ffe74]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
xor ebx, ebx
push 0x72
pop eax
push 0x3e6
mov word [ebp - 0x1fb0], ax
lea eax, [ebp - 0x1fae]
push ebx
push eax
mov dword [ebp - 0x98dc], ecx
mov dword [ebp - 0x98cc], ebx
mov dword [ebp - 0x98d0], ebx
call fcn.006390b0
add esp, 0xc
lea eax, [ebp - 0x98d0]
push 0x6c5e0c
push edi
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x435973
cmp dword [ebp - 0x98d0], ebx
je 0x435973
push dword [ebp - 0x98d0]
lea eax, [ebp - 0x70]
push 2
push 1
push eax
call fcn.00651b3e
add esp, 0x10
cmp eax, 2
jne 0x435973
push dword [ebp - 0x98d0]
call fcn.00649273
mov al, byte [ebp - 0x70]
mov esi, 0x6c63d0
pop ecx
cmp al, 0xff
jne 0x435401
cmp byte [ebp - 0x6f], 0xfe
jmp 0x435409
cmp al, 0xfe
jne 0x435415
cmp byte [ebp - 0x6f], 0xff
jne 0x435415
xor ebx, ebx
mov eax, str.r__ccsUTF_16LE
inc ebx
jmp 0x435417
mov eax, esi
push eax
lea eax, [ebp - 0x1fb0]
push 0x3e8
push eax
call fcn.006494f3
add esp, 0xc
lea eax, [ebp - 0x1fb0]
test ebx, ebx
cmovne esi, eax
lea eax, [ebp - 0x98cc]
push esi
push edi
push eax
call fcn.00649a00
add esp, 0xc
test eax, eax
jne 0x435973
cmp dword [ebp - 0x98cc], eax
je 0x435973
mov esi, 0x3e7
mov byte [ebp - 0x1010], al
push esi
push eax
lea eax, [ebp - 0x100f]
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0xc28], 0
lea eax, [ebp - 0xc27]
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x17e0], 0
lea eax, [ebp - 0x17df]
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x13f8], 0
lea eax, [ebp - 0x13f7]
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x840], 0
lea eax, [ebp - 0x83f]
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x2398], 0
lea eax, [ebp - 0x2397]
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x458], 0
lea eax, [ebp - 0x457]
push esi
push 0
push eax
call fcn.006390b0
add esp, 0xc
mov byte [ebp - 0x1bc8], 0
lea eax, [ebp - 0x1bc7]
push esi
push 0
push eax
call fcn.006390b0
mov edi, dword [ebp + 8]
add esp, 0xc
push 0x3c
pop edx
mov dword [ebp - 0x98d8], edx
xor esi, esi
mov dword [ebp - 0x98d4], esi
push dword [ebp - 0x98cc]
push 0x2710
test ebx, ebx
je 0x435584
lea eax, [ebp - 0x98c8]
push eax
call fcn.006494e8
add esp, 0xc
test eax, eax
je 0x43589f
xor ecx, ecx
lea eax, [ebp - 0x4aa8]
push ecx
push ecx
push 0x2710
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x98c8]
push eax
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
jmp 0x43559b
lea eax, [ebp - 0x4aa8]
push eax
call fcn.006494dd
add esp, 0xc
test eax, eax
je 0x43589f
lea eax, [ebp - 0x4aa8]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x4355cd
lea eax, [ebp - 0x4aa8]
push eax
call fcn.00643470
dec eax
pop ecx
cmp eax, 0x2710
jae 0x435986
mov byte [ebp + eax - 0x4aa8], 0
lea ecx, [ebp - 0x4aa8]
call fcn.004047e7
lea eax, [ebp - 0x4aa8]
push 0x5b
push eax
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x435646
lea eax, [ebp - 0x4aa8]
push 0x5d
push eax
call fcn.006393d0
pop ecx
pop ecx
test eax, eax
je 0x435646
lea eax, [ebp - 0x4aa8]
push str._Connection_
push eax
call fcn.0064fd85
pop ecx
pop ecx
test eax, eax
je 0x43563e
cmp edi, 0x15e
jne 0x435533
lea eax, [ebp - 0x4aa8]
push str._connection:authentication_
push eax
call fcn.0064fd85
pop ecx
pop ecx
test eax, eax
jne 0x435533
xor esi, esi
inc esi
jmp 0x435535
push str.version
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4aa8]
push str.version
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x4356f6
lea eax, [ebp - 0x4aa8]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x458]
push 0x3e8
push eax
call fcn.006494f3
add esp, 0x14
lea ecx, [ebp - 0x458]
call fcn.004047e7
lea eax, [ebp - 0x458]
push eax
call fcn.00643470
pop ecx
cmp eax, 1
jb 0x43553b
cmp byte [ebp - 0x457], 0x2e
movzx eax, byte [ebp - 0x456]
movzx edx, byte [ebp - 0x457]
movsx esi, byte [ebp - 0x458]
cmove edx, eax
movsx ecx, dl
test dl, dl
lea eax, [ecx - 0x30]
cmovne ecx, eax
lea eax, [esi - 0x30]
mov esi, dword [ebp - 0x98d4]
imul eax, eax, 0xa
add ecx, eax
mov dword [ebp - 0x98d8], ecx
jmp 0x43553b
test esi, esi
je 0x43553b
push str.host
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4aa8]
push str.host
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x43574e
lea eax, [ebp - 0x4aa8]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x1010]
push 0x3e8
push eax
call fcn.006494f3
lea ecx, [ebp - 0x1010]
jmp 0x435892
push str.port
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4aa8]
push str.port
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x43579e
lea eax, [ebp - 0x4aa8]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0xc28]
push 0x3e8
push eax
call fcn.006494f3
lea ecx, [ebp - 0xc28]
jmp 0x435892
cmp edi, 0x15e
jne 0x4357f6
push str.protocol
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4aa8]
push str.protocol
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x4357f6
lea eax, [ebp - 0x4aa8]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x1bc8]
push 0x3e8
push eax
call fcn.006494f3
lea ecx, [ebp - 0x1bc8]
jmp 0x435892
push 0x6c9d70
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4aa8]
push 0x6c9d70
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x435843
lea eax, [ebp - 0x4aa8]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x13f8]
push 0x3e8
push eax
call fcn.006494f3
lea ecx, [ebp - 0x13f8]
jmp 0x435892
push 0x6c9d7c
call fcn.00643470
pop ecx
push eax
lea eax, [ebp - 0x4aa8]
push 0x6c9d7c
push eax
call fcn.0065106c
add esp, 0xc
test eax, eax
jne 0x43553b
lea eax, [ebp - 0x4aa8]
push 0x3d
push eax
call fcn.006393d0
inc eax
push eax
lea eax, [ebp - 0x840]
push 0x3e8
push eax
call fcn.006494f3
lea ecx, [ebp - 0x840]
add esp, 0x14
call fcn.004047e7
jmp 0x43553b
push dword [ebp - 0x98cc]
call fcn.00649273
pop ecx
lea eax, [ebp - 0x840]
push eax
call fcn.00643470
pop ecx
cmp eax, 1
jb 0x435973
mov edx, dword [ebp - 0x98d8]
lea eax, [ebp - 0x2398]
push ecx
push eax
lea eax, [ebp - 0x840]
mov ecx, edi
push eax
call fcn.0043507f
add esp, 0xc
test eax, eax
je 0x435973
lea eax, [ebp - 0xc28]
push eax
call fcn.00643470
pop ecx
test eax, eax
je 0x435922
lea eax, [ebp - 0xc28]
push eax
lea eax, [ebp - 0x1010]
push eax
push str._s:_s
lea eax, [ebp - 0x17e0]
push 0x3e8
push eax
call fcn.00402e0a
add esp, 0x14
jmp 0x43593d
lea eax, [ebp - 0x1010]
push eax
lea eax, [ebp - 0x17e0]
push 0x3e8
push eax
call fcn.006494f3
add esp, 0xc
push 0xffffffffffffffff
push 0x6c5bb9
lea eax, [ebp - 0x2398]
push eax
lea ecx, [ebp - 0x13f8]
push ecx
lea ecx, [ebp - 0x17e0]
push ecx
lea ecx, [ebp - 0x1bc8]
push ecx
mov ecx, dword [ebp - 0x98dc]
push edi
push 4
call fcn.0043ee6b
xor eax, eax
inc eax
jmp 0x435975
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006122f0
leave
ret 8
call fcn.00612782
int3