Function at 0x599780
Capabilities:
Convert ip address from string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1e0
mov eax, dword [0x78efc4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov edx, 0x1a8
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x1a4], eax
add eax, eax
push edi
mov edi, dword [ebp + 8]
cmp byte [esi + 0xb0], 2
lea ecx, [esi + eax*8]
mov dword [ebp - 0x1a8], 0xffffffff
mov dword [ebp - 0x1d0], ecx
mov dword [ebp - 0x19c], 0
jne 0x5997ef
cmp dword [esi + 0x134], 0xffffffff
mov eax, 0x198
cmovne eax, edx
cmp dword [eax + esi], 2
je 0x5997ef
mov eax, dword [esi + 0xa4]
jmp 0x5997f2
mov eax, dword [esi + 0x5c]
mov ebx, dword [ecx + 0x180]
push 1
push 2
push 0
push 1
push 5
mov dword [ebp - 0x1a0], eax
call fcn.0059f2c0
add esp, 0x14
test al, al
je 0x599822
push str.schannel:_Windows_version_is_old_and_may_not_be_able_to_connect_to_some_servers_due_to_lack_of_SNI__algorithms__etc.
push edi
call fcn.00582550
add esp, 8
cmp byte [esi + 0x256], 0
je 0x59985f
push str.wine_get_version
push 0x6de8ac
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
jne 0x59985f
push 3
push 2
push eax
push 3
push 6
call fcn.0059f2c0
add esp, 0x14
test al, al
je 0x59985f
mov al, 1
jmp 0x599861
xor al, al
mov byte [ebx + 0x47], al
mov edx, 0x1a8
mov cl, byte [esi + 0xb0]
cmp cl, 2
jne 0x599891
cmp dword [esi + 0x134], 0xffffffff
mov eax, 0x198
cmovne eax, edx
cmp dword [eax + esi], 2
je 0x599891
mov eax, dword [esi + 0x208]
jmp 0x599897
mov eax, dword [esi + 0x1c8]
test eax, eax
jne 0x5998cb
cmp cl, 2
jne 0x5998bd
cmp dword [esi + 0x134], 0xffffffff
mov eax, 0x198
cmovne eax, edx
cmp dword [eax + esi], 2
je 0x5998bd
mov eax, dword [esi + 0x228]
jmp 0x5998c3
mov eax, dword [esi + 0x1e8]
test eax, eax
jne 0x5998cb
xor al, al
jmp 0x5998e7
push 3
push 2
push 0
push 1
push 6
call fcn.0059f2c0
add esp, 0x14
test al, al
je 0x599da6
mov al, 1
mov byte [ebx + 0x48], al
mov dword [ebx], 0
cmp byte [esi + 0xb0], 2
jne 0x59991b
cmp dword [esi + 0x134], 0xffffffff
mov eax, 0x198
mov ecx, 0x1a8
cmovne eax, ecx
cmp dword [eax + esi], 2
je 0x59991b
mov al, byte [edi + 0x480]
jmp 0x599921
mov al, byte [edi + 0x418]
test al, al
je 0x5999a9
push edi
call fcn.0057cf40
add esp, 4
cmp byte [esi + 0xb0], 2
jne 0x59995c
cmp dword [esi + 0x134], 0xffffffff
mov eax, 0x198
mov ecx, 0x1a8
mov byte [ebp - 0x198], 1
cmovne eax, ecx
cmp dword [eax + esi], 2
jne 0x599963
mov byte [ebp - 0x198], 0
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x19c]
push 0
push eax
push dword [ebp - 0x198]
push esi
push edi
call fcn.0057cac0
add esp, 0x18
test al, al
jne 0x599997
mov eax, dword [ebp - 0x19c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x19c]
inc dword [eax + 0x18]
push edi
call fcn.0057cf70
add esp, 4
cmp dword [ebx], 0
jne 0x599a3d
push dword [ebp - 0x1a4]
push esi
push edi
call fcn.005982a0
add esp, 0xc
test eax, eax
jne 0x599db9
cmp byte [esi + 0xb0], 2
jne 0x5999ec
cmp dword [esi + 0x134], 0xffffffff
mov eax, 0x198
mov ecx, 0x1a8
cmovne eax, ecx
cmp dword [eax + esi], 2
je 0x5999ec
mov eax, dword [esi + 0xa4]
jmp 0x5999ef
mov eax, dword [esi + 0x5c]
push 0
push eax
push edi
call fcn.0057d010
add esp, 0xc
test eax, eax
jne 0x599a23
push str.Failed_to_set_SNI
push edi
call fcn.00582490
add esp, 8
mov eax, 0x23
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006773ff
mov esp, ebp
pop ebp
ret
push eax
call fcn.00696cec
mov ecx, dword [ebx]
add esp, 4
mov dword [ecx + 0x10], eax
mov eax, dword [ebx]
cmp dword [eax + 0x10], 0
je 0x599ce2
lea eax, [ebp - 0x1e0]
push eax
push dword [ebp - 0x1a0]
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
jne 0x599a6f
lea eax, [ebp - 0x194]
push eax
push dword [ebp - 0x1a0]
push 0x17
call dword [sym.imp.WS2_32.dll_inet_pton]
test eax, eax
je 0x599a7d
push str.schannel:_using_IP_address__SNI_is_not_supported_by_OS.
push edi
call fcn.00582550
add esp, 8
cmp byte [ebx + 0x47], 0
je 0x599ae8
push str.http_1.1
push str.ALPN:_offers__s
push edi
mov dword [ebp - 0x80], 2
mov byte [ebp - 0x7a], 8
mov dword [ebp - 0x79], 0x70747468
mov dword [ebp - 0x75], 0x312e312f
call fcn.00582550
push 9
call fcn.00584d70
mov word [ebp - 0x7c], ax
add esp, 0x10
movzx eax, ax
add eax, 6
mov dword [ebp - 0x1b4], 0x13
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x1b0], 0x12
mov dword [ebp - 0x1ac], eax
jmp 0x599b06
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x1c8], 1
mov dword [ebp - 0x1c4], eax
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c0], 0
mov dword [ebp - 0x1bc], 0
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x1dc], 0
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1d8], 1
mov dword [ebx + 0x38], 0x811c
cmp byte [esi + 0xb0], 2
jne 0x599b96
cmp dword [esi + 0x134], 0xffffffff
mov eax, 0x198
mov ecx, 0x1a8
cmovne eax, ecx
cmp dword [eax + esi], 2
je 0x599b96
mov cl, byte [edi + 0x4ab]
jmp 0x599b9c
mov cl, byte [edi + 0x443]
mov eax, dword [ebx + 0x38]
test cl, cl
mov edx, 0x819c
cmove eax, edx
push 0x10
push 1
mov dword [ebx + 0x38], eax
call dword [0x78e020]
mov edx, eax
add esp, 8
mov dword [ebx + 4], edx
test edx, edx
jne 0x599be6
push str.schannel:_unable_to_allocate_memory
push edi
call fcn.00582490
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006773ff
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx]
lea eax, [edx + 8]
push eax
lea eax, [ebx + 0x3c]
push eax
lea eax, [ebp - 0x1dc]
push eax
push edx
xor edx, edx
lea eax, [ebp - 0x1cc]
cmp byte [ebx + 0x47], dl
push 0
cmove eax, edx
push eax
mov eax, dword [0x7a4f60]
push edx
push edx
push dword [ebx + 0x38]
mov eax, dword [eax + 0x18]
push dword [ecx + 0x10]
push edx
push ecx
call eax
mov dword [ebp - 0x198], eax
cmp eax, 0x90312
je 0x599cf8
push dword [ebx + 4]
call dword [0x78e014]
mov eax, dword [ebp - 0x198]
add esp, 4
mov dword [ebx + 4], 0
push 0x100
cmp eax, 0x80090300
je 0x599cc2
cmp eax, 0x80090322
je 0x599c8c
lea ecx, [ebp - 0x184]
push ecx
push eax
call fcn.0056e230
push eax
push str.schannel:_initial_InitializeSecurityContext_failed:__s
push edi
call fcn.00582490
add esp, 0x18
mov eax, 0x23
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006773ff
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x184]
push eax
push 0x80090322
call fcn.0056e230
push eax
push str.schannel:_SNI_or_certificate_check_failed:__s
push edi
call fcn.00582490
add esp, 0x18
mov eax, 0x3c
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006773ff
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x184]
push eax
push 0x80090300
call fcn.0056e230
push eax
push str.schannel:_initial_InitializeSecurityContext_failed:__s
push edi
call fcn.00582490
add esp, 0x18
pop edi
pop esi
mov eax, 0x1b
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006773ff
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1a8]
push eax
push dword [ebp - 0x1c0]
mov eax, dword [ebp - 0x1a4]
push dword [ebp - 0x1b8]
push dword [esi + eax*4 + 0x130]
push edi
call fcn.00582a50
mov ecx, dword [0x7a4f60]
add esp, 0x14
mov esi, eax
push dword [ebp - 0x1b8]
mov ecx, dword [ecx + 0x40]
call ecx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1c0]
test esi, esi
jne 0x599d80
cmp ecx, eax
jne 0x599d80
mov eax, dword [ebp - 0x1d0]
pop edi
mov dword [ebx + 0x40], 0
mov word [ebx + 0x44], 0
mov byte [ebx + 0x46], 0
mov byte [ebx + 0x34], 0
pop esi
mov dword [eax + 0x17c], 1
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006773ff
mov esp, ebp
pop ebp
ret
push ecx
push eax
push str.schannel:_failed_to_send_initial_handshake_data:_sent__zd_of__lu_bytes
push edi
call fcn.00582490
add esp, 0x10
mov eax, 0x23
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.006773ff
mov esp, ebp
pop ebp
ret
push str.schannel:_this_version_of_Windows_is_too_old_to_support_certificate_verification_via_CA_bundle_file.
push edi
call fcn.00582490
mov eax, 0x4d
add esp, 8
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.006773ff
mov esp, ebp
pop ebp
ret