Function at 0x40567f
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x42c
mov eax, dword [0x583d10]
xor eax, esp
mov dword [esp + 0x428], eax
push ebx
push esi
mov esi, edx
xor eax, eax
mov edx, dword [ebp + 8]
push edi
mov edi, ecx
mov dword [esp + 0x28], esi
mov ecx, dword [ebp + 0xc]
mov dword [edx], eax
mov dword [esp + 0x1c], edi
mov dword [esp + 0x2c], edx
mov byte [ecx], al
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
cmp dword [edi + 0x1c0], eax
jne 0x4056cc
push 3
jmp 0x4056e5
push 1
push 0x350
call dword [0x5aa840]
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
jne 0x4056fb
and dword [esi], eax
push 0x1b
pop eax
mov ecx, dword [esp + 0x434]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004f225b
mov esp, ebp
pop ebp
ret
mov dword [esi], ebx
or ecx, 0xffffffff
mov dword [ebx], edi
xor esi, esi
mov dword [ebx + 0xa0], ecx
mov dword [ebx + 0xa4], ecx
mov dword [ebx + 4], ecx
mov eax, dword [edi + 0x1c8]
test eax, eax
je 0x40572f
cmp byte [eax], 0
je 0x40572f
cmp dword [edi + 0x160], esi
jne 0x40572f
xor eax, eax
inc eax
jmp 0x405731
mov eax, esi
mov byte [ebx + 0xe7], al
mov byte [ebx + 0xe4], 1
mov dword [ebx + 0xa8], ecx
mov dword [ebx + 0xac], ecx
call fcn.0040ab70
mov dword [ebx + 0x98], eax
xor ecx, ecx
mov dword [ebx + 0x9c], edx
cmp dword [edi + 0x48], ecx
setne al
mov byte [ebx + 0xec], al
mov eax, dword [edi + 0x48]
mov dword [ebx + 0x70], eax
mov eax, dword [edi + 0xb8]
mov dword [ebx + 0x78], eax
mov eax, dword [edi + 0xbc]
mov dword [ebx + 0x7c], eax
cmp dword [edi + 0x3c], ecx
setne al
mov byte [ebx + 0xe8], al
cmp dword [edi + 0x1c], ecx
setne al
mov byte [ebx + 0xe9], al
mov al, byte [edi + 0x197]
mov byte [ebx + 0xf5], al
mov al, byte [edi + 0x18a]
mov byte [ebx + 0xf6], al
mov al, byte [edi + 0x1a9]
mov byte [ebx + 0xf9], al
mov al, byte [edi + 0x1aa]
mov byte [ebx + 0xfa], al
mov al, byte [edi + 0x1ab]
mov byte [ebx + 0xfb], al
push dword [edi + 0x1c0]
call fcn.004f95a0
mov esi, eax
mov eax, 0x100
cmp esi, eax
pop ecx
cmovb esi, eax
push esi
call dword [0x5aa830]
mov dword [ebx + 0x4c], eax
pop ecx
test eax, eax
je 0x4056e3
push esi
mov dword [ebx + 0x50], eax
call dword [0x5aa830]
mov dword [ebx + 0x2c], eax
pop ecx
test eax, eax
je 0x4056e3
mov dword [ebx + 0x34], eax
lea esi, [ebx + 0x18]
mov byte [eax], 0
push dword [ebx + 0x50]
push esi
push str._15_:_:___n_
push dword [edi + 0x1c0]
call fcn.004f7ccc
add esp, 0x10
cmp eax, 2
jne 0x4058d5
push str.file
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x4058d5
mov eax, dword [ebx + 0x50]
cmp byte [eax], 0x2f
jne 0x405880
cmp byte [eax + 1], 0x2f
jne 0x405880
mov esi, eax
lea eax, [esi + 2]
push eax
call fcn.004f95a0
pop ecx
inc eax
push eax
lea eax, [esi + 2]
push eax
push esi
call fcn.004f1700
add esp, 0xc
lea esi, [ebx + 0x18]
mov eax, dword [ebx + 0x50]
cmp byte [eax], 0x2f
je 0x4058c5
push 0x2f
push eax
call fcn.004f8490
mov dword [esp + 0x14], eax
pop ecx
pop ecx
test eax, eax
je 0x4058c5
lea ecx, [eax + 1]
mov dl, byte [ecx]
test dl, dl
je 0x4058ad
cmp dl, 0x2f
cmove eax, ecx
mov dword [esp + 0xc], eax
push eax
call fcn.004f95a0
pop ecx
inc eax
push eax
push dword [esp + 0x10]
push dword [ebx + 0x50]
call fcn.004f1700
add esp, 0xc
push str.file
push esi
call fcn.004f97b0
jmp 0x405a03
mov eax, dword [ebx + 0x50]
mov byte [eax], 0
push dword [ebx + 0x50]
push dword [ebx + 0x34]
push esi
push str._15__n:_:_____n_____n_
push dword [edi + 0x1c0]
call fcn.004f7ccc
add esp, 0x14
cmp eax, 2
jge 0x405a05
push dword [ebx + 0x50]
push dword [ebx + 0x34]
push str.___n_____n_
push dword [edi + 0x1c0]
call fcn.004f7ccc
add esp, 0x10
cmp eax, 1
jge 0x40592e
push str._url__malformed
push edi
call fcn.00401832
pop ecx
pop ecx
jmp 0x4056c8
push str.GOPHER.
call fcn.004f95a0
pop ecx
push eax
push dword [ebx + 0x34]
push str.GOPHER.
call fcn.004fcb80
add esp, 0xc
test eax, eax
jne 0x405958
push str.gopher
jmp 0x4059f9
push str.FTP.
call fcn.004f95a0
pop ecx
push eax
push dword [ebx + 0x34]
push str.FTP.
call fcn.004fcb80
add esp, 0xc
test eax, eax
jne 0x40597f
push 0x558024
jmp 0x4059f9
push str.TELNET.
call fcn.004f95a0
pop ecx
push eax
push dword [ebx + 0x34]
push str.TELNET.
call fcn.004fcb80
add esp, 0xc
test eax, eax
jne 0x4059a6
push str.telnet
jmp 0x4059f9
push str.DICT.
call fcn.004f95a0
pop ecx
push eax
push dword [ebx + 0x34]
push str.DICT.
call fcn.004fcb80
add esp, 0xc
test eax, eax
jne 0x4059cd
push str.DICT
jmp 0x4059f9
push str.LDAP.
call fcn.004f95a0
pop ecx
push eax
push dword [ebx + 0x34]
push str.LDAP.
call fcn.004fcb80
add esp, 0xc
test eax, eax
jne 0x4059f4
push str.LDAP
jmp 0x4059f9
push 0x558058
push esi
call fcn.004f97b0
or dword [ebx + 8], 1
pop ecx
pop ecx
push 0x40
push dword [ebx + 0x34]
call fcn.004f8490
pop ecx
pop ecx
push 0x3f
test eax, eax
je 0x405a1b
inc eax
push eax
jmp 0x405a1e
push dword [ebx + 0x34]
call fcn.004f8490
mov dword [esp + 0x14], eax
pop ecx
pop ecx
test eax, eax
je 0x405a71
push eax
call fcn.004f95a0
pop ecx
push dword [ebx + 0x50]
mov esi, eax
call fcn.004f95a0
pop ecx
mov ecx, dword [ebx + 0x50]
inc eax
push eax
push ecx
lea eax, [ecx + 1]
add eax, esi
push eax
call fcn.004f1700
mov eax, dword [ebx + 0x50]
add esp, 0xc
inc eax
push esi
mov esi, dword [esp + 0x10]
push esi
push eax
call fcn.004f27e0
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov byte [eax], 0x2f
mov byte [esi], 0
jmp 0x405a86
mov eax, dword [ebx + 0x50]
cmp byte [eax], 0
jne 0x405a86
push 0x558060
push eax
call fcn.004f97b0
pop ecx
pop ecx
mov eax, dword [ebx + 0x50]
cmp byte [eax], 0x3f
jne 0x405aac
mov esi, eax
push esi
call fcn.004f95a0
pop ecx
inc eax
push eax
lea eax, [esi + 1]
push esi
push eax
call fcn.004f1700
mov eax, dword [ebx + 0x50]
add esp, 0xc
mov byte [eax], 0x2f
cmp byte [ebx + 0xe9], 0
je 0x405b40
xor eax, eax
mov esi, 0xff
push esi
push eax
mov byte [esp + 0x38], al
lea eax, [esp + 0x39]
push eax
call fcn.004f2e30
add esp, 0xc
xor eax, eax
mov byte [esp + 0x330], al
push esi
push eax
lea eax, [esp + 0x339]
push eax
call fcn.004f2e30
add esp, 0xc
lea eax, [esp + 0x330]
push eax
lea eax, [esp + 0x34]
push eax
push str._255_:_:_255__n_
push dword [edi + 0x1c]
call fcn.004f7ccc
add esp, 0x10
lea ecx, [esp + 0x30]
xor edx, edx
call fcn.0041456c
mov dword [ebx + 0x88], eax
test eax, eax
je 0x4056e3
xor edx, edx
lea ecx, [esp + 0x330]
call fcn.0041456c
mov dword [ebx + 0x8c], eax
test eax, eax
je 0x4056e3
cmp dword [edi + 0x1c8], 0
jne 0x405d20
mov ecx, str.no_proxy
call fcn.00414509
mov ecx, eax
mov dword [esp + 0xc], eax
test ecx, ecx
jne 0x405b75
mov ecx, str.NO_PROXY
call fcn.00414509
mov ecx, eax
mov dword [esp + 0xc], ecx
test ecx, ecx
je 0x405ba4
push ecx
push 0x558090
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
je 0x405d10
mov ecx, dword [esp + 0xc]
test ecx, ecx
je 0x405ba4
lea eax, [esp + 0x10]
mov edx, 0x558094
push eax
call fcn.00414881
pop ecx
jmp 0x405ba6
xor eax, eax
mov dword [esp + 0x14], eax
test eax, eax
je 0x405c33
mov edi, eax
push 0x3a
push dword [ebx + 0x34]
call fcn.004f8490
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x405bcf
sub esi, dword [ebx + 0x34]
mov dword [esp + 0x14], esi
jmp 0x405bde
push dword [ebx + 0x34]
call fcn.004f95a0
pop ecx
mov esi, eax
mov dword [esp + 0x14], eax
push edi
call fcn.004f95a0
pop ecx
cmp eax, esi
ja 0x405c0f
push edi
call fcn.004f95a0
mov esi, dword [ebx + 0x34]
add esi, dword [esp + 0x18]
pop ecx
push edi
sub esi, eax
call fcn.004f95a0
pop ecx
push eax
mov edx, esi
mov ecx, edi
call fcn.0040ad45
pop ecx
test eax, eax
jne 0x405c27
lea eax, [esp + 0x10]
mov edx, 0x558094
push eax
xor ecx, ecx
call fcn.00414881
mov edi, eax
pop ecx
test edi, edi
jne 0x405bb4
test edi, edi
mov edi, dword [esp + 0x1c]
jne 0x405d10
mov dl, byte [ebx + 0x18]
lea ecx, [esp + 0x30]
test dl, dl
je 0x405c67
lea esi, [ebx + 0x18]
mov eax, ecx
sub esi, eax
mov edi, ecx
movsx eax, dl
push eax
call fcn.004f38cd
mov byte [edi], al
inc edi
pop ecx
mov dl, byte [esi + edi]
test dl, dl
jne 0x405c47
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
push str._proxy
push ecx
call fcn.004f97b0
pop ecx
pop ecx
lea ecx, [esp + 0x30]
call fcn.00414509
mov ecx, eax
test ecx, ecx
jne 0x405cc4
lea eax, [esp + 0x30]
push eax
push str.http_proxy
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
je 0x405cc9
cmp byte [esp + 0x30], 0
lea esi, [esp + 0x30]
je 0x405cb5
movsx eax, byte [esi]
push eax
call fcn.004f9f5b
mov byte [esi], al
inc esi
pop ecx
cmp byte [esi], 0
jne 0x405ca3
lea ecx, [esp + 0x30]
call fcn.00414509
mov ecx, eax
test ecx, ecx
je 0x405cc9
cmp byte [ecx], 0
jne 0x405ce5
mov ecx, str.all_proxy
call fcn.00414509
mov ecx, eax
test ecx, ecx
jne 0x405ce9
mov ecx, str.ALL_PROXY
call fcn.00414509
mov ecx, eax
test ecx, ecx
je 0x405d10
cmp byte [ecx], 0
je 0x405d10
mov eax, dword [ebx + 8]
and eax, 0x408
mov dword [edi + 0x1c8], ecx
mov byte [edi + 0x1cc], 1
or eax, 4
mov byte [ebx + 0xe7], 1
mov dword [ebx + 8], eax
mov eax, dword [esp + 0xc]
test eax, eax
je 0x405d20
push eax
call dword [0x5aa838]
pop ecx
test byte [ebx + 8], 1
lea esi, [ebx + 0x18]
je 0x405d56
push dword [edi + 0x1c0]
push esi
push str._s:___s
call fcn.00402d1d
add esp, 0xc
test eax, eax
je 0x4056e3
mov dword [edi + 0x1c0], eax
mov byte [edi + 0x1c4], 1
and dword [ebx + 8], 0xfffffffe
mov eax, dword [ebx + 0x78]
or eax, dword [ebx + 0x7c]
je 0x405d8e
cmp byte [ebx + 0xec], 0
jne 0x405d8e
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
push str._lld_
call fcn.00402d1d
add esp, 0xc
mov dword [ebx + 0x70], eax
test eax, eax
je 0x4056e3
mov word [ebx + 0xec], 0x101
push str.HTTP
push esi
mov dword [ebx + 0x28], 1
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x405dde
or dword [ebx + 8], 4
and dword [ebx + 0x108], 0
push 0x50
pop eax
mov dword [ebx + 0x54], eax
mov word [ebx + 0x58], ax
mov dword [ebx + 0x100], 0x40c760
mov dword [ebx + 0x104], 0x40c599
mov dword [ebx + 0x10c], 0x40c538
jmp 0x40601d
push str.HTTPS
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x405e04
push str.libcurl_was_built_with_SSL_disabled__https:_not_supported_
push edi
call fcn.00401832
pop ecx
pop ecx
xor eax, eax
inc eax
jmp 0x4056e6
push str.GOPHER
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x405e70
push 0x46
pop eax
mov dword [ebx + 0x54], eax
mov word [ebx + 0x58], ax
mov eax, dword [ebx + 0x50]
movsx eax, byte [eax + 1]
push eax
call fcn.004f837e
pop ecx
test eax, eax
je 0x405e4c
mov eax, dword [ebx + 0x50]
inc eax
push 0x2f
push eax
call fcn.004f8490
mov dword [ebx + 0x50], eax
pop ecx
pop ecx
test eax, eax
jne 0x405e4c
mov eax, dword [ebx + 0x4c]
mov dword [ebx + 0x50], eax
or dword [ebx + 8], 2
and dword [ebx + 0x108], 0
mov dword [ebx + 0x100], 0x40c760
mov dword [ebx + 0x104], 0x40c599
jmp 0x40601d
push 0x558128
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
je 0x406070
push str.FTPS
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
je 0x406070
push str.TELNET
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x405ed2
or dword [ebx + 8], 0x20
push 0x17
pop eax
mov dword [ebx + 0x54], eax
mov word [ebx + 0x58], ax
mov dword [ebx + 0x100], 0x4124a7
mov dword [ebx + 0x104], 0x412475
jmp 0x40601d
push str.DICT
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x405ef8
or dword [ebx + 8], 0x40
mov eax, 0xa44
mov dword [ebx + 0x100], 0x414628
jmp 0x405f1f
push str.LDAP
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x405f32
or dword [ebx + 8], 0x80
mov eax, 0x185
mov dword [ebx + 0x100], 0x410e9c
and dword [ebx + 0x104], 0
mov word [ebx + 0x58], ax
mov dword [ebx + 0x54], eax
jmp 0x40601d
push str.FILE
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x405f8e
or dword [ebx + 8], 0x100
mov ecx, ebx
mov dword [ebx + 0x100], 0x414237
mov dword [ebx + 0x104], fcn.00414096
call fcn.00413fc7
test eax, eax
jne 0x4056e6
push eax
or ecx, 0xffffffff
mov byte [ebx + 0xf2], 1
push ecx
push eax
push eax
push ecx
push ecx
mov edx, ecx
mov ecx, ebx
call fcn.004092e4
add esp, 0x18
jmp 0x4056e6
push str.TFTP
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x40605c
or dword [ebx + 8], 0x800
mov esi, str._mode
push 0x45
pop eax
push esi
push dword [ebx + 0x50]
mov dword [ebx + 0x28], 2
mov dword [ebx + 0x54], eax
mov word [ebx + 0x58], ax
mov dword [ebx + 0x10c], 0x412f79
mov dword [ebx + 0x100], 0x413047
mov dword [ebx + 0x104], 0x41300e
call fcn.004f8af0
pop ecx
pop ecx
test eax, eax
jne 0x405ffc
push esi
push dword [ebx + 0x2c]
call fcn.004f8af0
pop ecx
pop ecx
test eax, eax
je 0x40601d
mov byte [eax], 0
movsx eax, byte [eax + 6]
push eax
call fcn.004f9f5b
pop ecx
cmp al, 0x41
je 0x406016
cmp al, 0x4e
jne 0x40616b
mov byte [edi + 0x18c], 1
mov eax, dword [edi + 0x1c8]
test eax, eax
je 0x4062e1
cmp byte [eax], 0
je 0x4062e1
push eax
call dword [0x5aa834]
mov dword [esp + 0x10], eax
mov esi, eax
pop ecx
test eax, eax
jne 0x406183
push str.memory_shortage
push edi
call fcn.00401832
pop ecx
pop ecx
jmp 0x4056e3
push esi
push str.Unsupported_protocol:__s
push edi
call fcn.00401832
add esp, 0xc
jmp 0x405dfc
push str.FTPS
push esi
call fcn.00523e23
pop ecx
pop ecx
test eax, eax
jne 0x40608b
push str.libcurl_was_built_with_SSL_disabled__ftps:_not_supported_
jmp 0x405df4
or dword [ebx + 8], 0x10
push 0x15
pop eax
mov dword [ebx + 0x54], eax
mov word [ebx + 0x58], ax
mov eax, dword [edi + 0x1c8]
test eax, eax
je 0x4060ce
cmp byte [eax], 0
je 0x4060ce
cmp byte [edi + 0x18a], 0
jne 0x4060ce
mov dword [ebx + 0x100], 0x40c760
mov dword [ebx + 0x104], 0x40c599
mov dword [ebx + 8], 4
jmp 0x406125
mov eax, 0x40e067
mov dword [ebx + 0x100], 0x410325
mov dword [ebx + 0x108], fcn.0041021b
mov dword [ebx + 0x104], fcn.0040fd83
mov dword [ebx + 0x10c], 0x40fc9e
mov dword [ebx + 0x110], fcn.0040fb63
mov dword [ebx + 0x114], 0x410cd3
mov dword [ebx + 0x118], eax
mov dword [ebx + 0x11c], eax
mov dword [ebx + 0x120], 0x410591
mov eax, dword [ebx + 0x50]
mov esi, str._type
inc eax
push esi
push eax
mov dword [ebx + 0x50], eax
call fcn.004f8af0
pop ecx
pop ecx
test eax, eax
jne 0x406151
push esi
push dword [ebx + 0x2c]
call fcn.004f8af0
pop ecx
pop ecx
test eax, eax
je 0x40601d
mov byte [eax], 0
movsx eax, byte [eax + 6]
push eax
call fcn.004f9f5b
pop ecx
cmp al, 0x41
je 0x406016
cmp al, 0x44
je 0x406177
mov byte [edi + 0x18c], 0
jmp 0x40601d
mov byte [edi + 0x18d], 1
jmp 0x40601d
push 0x5581c4
push eax
call fcn.004f8af0
pop ecx
pop ecx
test eax, eax
je 0x406197
lea esi, [eax + 3]
push 0x40
push esi
call fcn.004f8490
mov dword [esp + 0x18], eax
pop ecx
pop ecx
test eax, eax
je 0x406241
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x334]
push eax
push str._255_:_:_255___
push esi
call fcn.004f7ccc
add esp, 0x10
cmp eax, 2
jne 0x406241
mov ecx, dword [ebx + 0x88]
call fcn.004039ea
xor edx, edx
lea ecx, [esp + 0x330]
call fcn.0041456c
mov dword [ebx + 0x88], eax
test eax, eax
je 0x4062a5
mov ecx, dword [ebx + 0x8c]
call fcn.004039ea
xor edx, edx
lea ecx, [esp + 0x30]
call fcn.0041456c
mov dword [ebx + 0x8c], eax
test eax, eax
je 0x4062a5
mov eax, dword [esp + 0x10]
inc eax
mov byte [ebx + 0xe9], 1
push eax
call dword [0x5aa834]
mov esi, eax
pop ecx
test esi, esi
je 0x4062a5
push dword [esp + 0xc]
call dword [0x5aa838]
pop ecx
mov dword [esp + 0xc], esi
cmp byte [esi], 0x5b
mov ecx, esi
mov dword [esp + 0x10], ecx
jne 0x40628a
inc esi
mov eax, esi
cmp byte [esi], 0
je 0x40627f
mov edi, esi
movsx eax, byte [edi]
push eax
call fcn.004f8457
pop ecx
test eax, eax
jne 0x406269
cmp byte [edi], 0x3a
jne 0x40626f
inc edi
cmp byte [edi], 0
jne 0x406256
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
cmp byte [eax], 0x5d
jne 0x40628a
mov byte [eax], 0
lea ecx, [eax + 1]
push 0x3a
push ecx
call fcn.004f8490
pop ecx
pop ecx
test eax, eax
je 0x4062b4
mov byte [eax], 0
inc eax
push eax
call fcn.004f7fe9
pop ecx
jmp 0x4062bb
push dword [esp + 0xc]
call dword [0x5aa838]
jmp 0x406056
mov eax, dword [edi + 0x20]
test eax, eax
je 0x4062be
mov dword [ebx + 0x54], eax
push esi
call dword [0x5aa834]
pop ecx
push dword [esp + 0xc]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x44], eax
call dword [0x5aa838]
cmp dword [ebx + 0x3c], 0
pop ecx
je 0x4056e3
test dword [ebx + 8], 0x400
je 0x4062fa
cmp byte [ebx + 0xe7], 0
je 0x4062fa
mov byte [ebx + 0xf6], 1
mov byte [esp + 0x230], 0
mov byte [esp + 0x130], 0
test byte [ebx + 8], 0x14
je 0x406406
push 0x40
push dword [ebx + 0x34]
call fcn.004f8490
pop ecx
pop ecx
mov ecx, dword [ebx + 0x34]
test eax, eax
je 0x406406
inc eax
mov dword [ebx + 0x34], eax
cmp dword [edi + 0x19c], 2
je 0x406406
mov byte [ebx + 0xe8], 1
lea eax, [esp + 0x130]
cmp byte [ecx], 0x3a
push eax
je 0x406368
lea eax, [esp + 0x234]
push eax
push str._127_:__:_127___
push ecx
call fcn.004f7ccc
add esp, 0x10
jmp 0x406376
push str.:_127___
push ecx
call fcn.004f7ccc
add esp, 0xc
cmp byte [esp + 0x230], 0
je 0x4063be
xor edx, edx
lea ecx, [esp + 0x230]
call fcn.0041456c
mov esi, eax
test esi, esi
je 0x4056e3
push esi
call fcn.004f95a0
pop ecx
cmp eax, 0x100
jae 0x4063b6
lea eax, [esp + 0x230]
push esi
push eax
call fcn.004f97b0
pop ecx
pop ecx
push esi
call dword [0x5aa838]
pop ecx
cmp byte [esp + 0x130], 0
je 0x406406
xor edx, edx
lea ecx, [esp + 0x130]
call fcn.0041456c
mov esi, eax
test esi, esi
je 0x4056e3
push esi
call fcn.004f95a0
pop ecx
cmp eax, 0x100
jae 0x4063fe
lea eax, [esp + 0x130]
push esi
push eax
call fcn.004f97b0
pop ecx
pop ecx
push esi
call dword [0x5aa838]
pop ecx
lea eax, [esp + 0x1b]
push eax
push str.__39_0_9a_fA_F:.__c
push dword [ebx + 0x34]
call fcn.004f7ccc
add esp, 0xc
cmp eax, 1
jne 0x406452
cmp byte [esp + 0x1b], 0x5d
jne 0x406452
mov byte [ebx + 0xea], al
mov eax, dword [ebx + 0x34]
inc eax
push 0x5d
push eax
mov dword [ebx + 0x34], eax
call fcn.004f8490
pop ecx
mov edx, eax
pop ecx
xor ecx, ecx
mov byte [edx], cl
inc edx
mov dword [esp + 0xc], edx
cmp byte [edx], 0x3a
je 0x406466
mov edx, ecx
jmp 0x406462
push 0x3a
push dword [ebx + 0x34]
call fcn.004f9ce0
pop ecx
pop ecx
mov edx, eax
xor ecx, ecx
mov dword [esp + 0xc], edx
cmp dword [edi + 0x38], ecx
je 0x4064d6
cmp byte [edi + 0x831c], 0
je 0x4064d6
mov ax, word [edi + 0x38]
mov word [ebx + 0x58], ax
test edx, edx
je 0x406482
mov byte [edx], cl
cmp byte [ebx + 0xe7], 0
je 0x406523
push dword [ebx + 0x50]
movzx eax, word [ebx + 0x58]
push eax
push dword [ebx + 0x34]
push str.http:___s:_d_s
call fcn.00402d1d
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4056e3
cmp byte [edi + 0x1c4], 0
je 0x4064c7
push dword [edi + 0x1c0]
call dword [0x5aa838]
pop ecx
mov dword [edi + 0x1c0], esi
mov byte [edi + 0x1c4], 1
jmp 0x406523
test edx, edx
je 0x406523
push 0xa
lea eax, [esp + 0x14]
lea esi, [edx + 1]
push eax
push esi
call fcn.004f9af8
mov ecx, eax
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x406523
cmp byte [eax], 0
jne 0x406523
cmp ecx, 0xffff
jbe 0x406518
push ecx
push str.Port_number_too_large:__lu
push edi
call fcn.00401832
add esp, 0xc
jmp 0x4056c8
mov eax, dword [esp + 0xc]
mov byte [eax], 0
mov word [ebx + 0x58], cx
cmp dword [edi + 0x3c], 0
je 0x406549
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x234]
push eax
push str._255_:_:_255__n_
push dword [edi + 0x3c]
call fcn.004f7ccc
add esp, 0x10
xor eax, eax
mov byte [ebx + 0xfc], al
cmp dword [edi + 0x19c], eax
je 0x40659d
push dword [edi + 0x1a0]
mov ecx, dword [ebx + 0x34]
lea eax, [esp + 0x134]
push eax
lea edx, [esp + 0x238]
call fcn.00413d0d
pop ecx
pop ecx
test eax, eax
je 0x40658f
push dword [ebx + 0x34]
push str.Couldnt_find_host__s_in_the__netrc_file__using_defaults_n
push edi
call fcn.004017c3
add esp, 0xc
jmp 0x40659d
mov byte [ebx + 0xfc], 1
mov byte [ebx + 0xe8], 1
test byte [ebx + 8], 0x10
je 0x4065c6
cmp byte [ebx + 0xe8], 0
jne 0x4065c6
push str.anonymous
call dword [0x5aa834]
mov dword [ebx + 0x80], eax
mov dword [esp], str.curl_by_daniel_haxx.se
jmp 0x4065e3
lea eax, [esp + 0x230]
push eax
call dword [0x5aa834]
mov dword [ebx + 0x80], eax
lea eax, [esp + 0x134]
pop ecx
push eax
call dword [0x5aa834]
mov dword [ebx + 0x84], eax
xor eax, eax
pop ecx
cmp dword [ebx + 0x80], eax
je 0x4056e3
cmp dword [ebx + 0x84], eax
je 0x4056e3
lea edx, [ebx + 0xb4]
lea ecx, [edi + 0x130]
call fcn.00403903
test al, al
je 0x4056e3
cmp byte [edi + 0x1a7], 0
je 0x406639
cmp byte [edi + 0x8300], 0
je 0x40685e
lea eax, [esp + 0x20]
mov edx, ebx
push eax
mov ecx, edi
call fcn.00404dfe
pop ecx
test al, al
je 0x40685e
cmp dword [ebx + 0x3c], 0
mov esi, ebx
mov dword [esp + 0x10], esi
je 0x406666
push dword [ebx + 0x3c]
call dword [0x5aa838]
pop ecx
lea ecx, [ebx + 0xb4]
call fcn.00403995
mov ebx, dword [esp + 0x20]
mov al, byte [esi + 0xe8]
mov byte [ebx + 0xe8], al
test al, al
je 0x4066c1
mov ecx, dword [ebx + 0x80]
call fcn.004039ea
mov ecx, dword [ebx + 0x84]
call fcn.004039ea
mov eax, dword [esi + 0x80]
xor ecx, ecx
mov dword [ebx + 0x80], eax
mov eax, dword [esi + 0x84]
mov dword [ebx + 0x84], eax
mov dword [esi + 0x80], ecx
mov dword [esi + 0x84], ecx
mov al, byte [esi + 0xe9]
mov byte [ebx + 0xe9], al
test al, al
je 0x40670d
mov ecx, dword [ebx + 0x88]
call fcn.004039ea
mov ecx, dword [ebx + 0x8c]
call fcn.004039ea
mov eax, dword [esi + 0x88]
mov dword [ebx + 0x88], eax
mov eax, dword [esi + 0x8c]
mov dword [ebx + 0x8c], eax
xor eax, eax
mov dword [esi + 0x88], eax
mov dword [esi + 0x8c], eax
cmp byte [ebx + 0xe7], 0
je 0x406731
lea edi, [ebx + 0x2c]
push dword [edi]
call dword [0x5aa838]
add esi, 0x2c
pop ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
cmp byte [ebx + 0xe7], 0
mov al, byte [esi + 0xf5]
mov byte [ebx + 0xf5], al
jne 0x406750
push dword [esi + 0x2c]
call dword [0x5aa838]
pop ecx
push dword [ebx + 0x4c]
call dword [0x5aa838]
mov eax, dword [esi + 0x4c]
mov dword [ebx + 0x4c], eax
mov eax, dword [esi + 0x50]
or dword [ebx + 0xa8], 0xffffffff
or dword [ebx + 0xac], 0xffffffff
pop ecx
mov dword [ebx + 0x50], eax
mov word [ebx + 0xe5], 1
mov ecx, dword [esi + 0x80]
call fcn.004039ea
mov ecx, dword [esi + 0x84]
call fcn.004039ea
mov ecx, dword [esi + 0x88]
call fcn.004039ea
mov ecx, dword [esi + 0x8c]
call fcn.004039ea
cmp byte [esi + 0xed], 0
je 0x4067bc
push dword [esi + 0x70]
call dword [0x5aa838]
pop ecx
push esi
call dword [0x5aa838]
mov eax, dword [edi + 0xb8]
mov dword [ebx + 0x78], eax
mov eax, dword [edi + 0xbc]
mov dword [ebx + 0x7c], eax
mov eax, dword [ebx + 0x78]
or eax, dword [ebx + 0x7c]
pop ecx
je 0x406806
cmp byte [ebx + 0xed], 1
jne 0x4067f1
push dword [ebx + 0x70]
call dword [0x5aa838]
pop ecx
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
push str._lld_
call fcn.00402d1d
add esp, 0xc
jmp 0x406816
cmp dword [edi + 0x48], 0
je 0x40682c
push dword [edi + 0x48]
call dword [0x5aa834]
pop ecx
mov dword [ebx + 0x70], eax
test eax, eax
je 0x4056e3
mov word [ebx + 0xec], 0x101
jmp 0x406833
mov byte [ebx + 0xec], 0
mov eax, dword [esp + 0x28]
mov dword [eax], ebx
cmp byte [ebx + 0xe7], 0
je 0x406847
mov eax, dword [ebx + 0x48]
jmp 0x40684a
mov eax, dword [ebx + 0x38]
push eax
push dword [ebx + 4]
push str.Re_using_existing_connection____ld__with_host__s_n
push edi
call fcn.004017c3
add esp, 0x10
jmp 0x406867
mov edx, ebx
mov ecx, edi
call fcn.00405048
test byte [ebx + 8], 4
mov eax, dword [edi + 0x80]
mov dword [ebx + 0x200], eax
mov eax, dword [edi + 0x28]
mov dword [ebx + 0x204], eax
je 0x4068ac
cmp byte [edi + 0x199], 0
je 0x4068ac
mov eax, dword [edi + 0xa8]
and eax, dword [edi + 0xac]
cmp eax, 0xffffffff
jne 0x4068ac
cmp dword [edi + 0x124], 1
je 0x4068ac
xor eax, eax
inc eax
xor esi, esi
jmp 0x4068b0
xor esi, esi
mov eax, esi
cmp byte [ebx + 0xe5], 0
mov byte [ebx + 0xef], al
je 0x4068d9
cmp byte [ebx + 0xe7], 0
mov ecx, esi
je 0x406971
mov eax, dword [ebx + 0x34]
mov dword [ebx + 0x38], eax
jmp 0x406971
mov eax, dword [ebx + 0x34]
mov dword [ebx + 0x38], eax
mov eax, dword [edi + 0x1c8]
test eax, eax
je 0x40692a
cmp byte [eax], 0
je 0x40692a
mov eax, dword [ebx + 0x44]
mov ecx, ebx
mov dword [ebx + 0x48], eax
lea eax, [esp + 0xc]
mov edx, dword [ebx + 0x44]
push eax
push dword [ebx + 0x54]
call fcn.00406ddb
pop ecx
pop ecx
mov ecx, dword [esp + 0xc]
cmp eax, 1
je 0x40694c
test ecx, ecx
jne 0x406971
push dword [ebx + 0x48]
push str.Couldnt_resolve_proxy__s
push edi
call fcn.00401832
add esp, 0xc
push 5
jmp 0x40696c
movzx eax, word [ebx + 0x58]
lea ecx, [esp + 0xc]
mov edx, dword [ebx + 0x34]
push ecx
push eax
mov ecx, ebx
mov dword [ebx + 0x54], eax
call fcn.00406ddb
pop ecx
pop ecx
mov ecx, dword [esp + 0xc]
cmp eax, 1
jne 0x406955
mov eax, dword [esp + 0x24]
mov byte [eax], 1
jmp 0x406971
test ecx, ecx
jne 0x406971
push dword [ebx + 0x38]
push str.Couldnt_resolve_host__s
push edi
call fcn.00401832
add esp, 0xc
push 6
mov ecx, dword [esp + 0x10]
pop esi
mov edx, dword [esp + 0x2c]
mov eax, esi
mov dword [edx], ecx
jmp 0x4056e6