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

Disassembly:
sub esp, 0x5c
mov eax, dword [0x47d370]
xor eax, esp
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x64]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x6c]
xor ebp, ebp
mov dword [esp + 0x10], eax
mov byte [esp + 0xe], 0
mov byte [esp + 0xf], 0
mov dword [esp + 0x24], 0
push edi
test esi, esi
je 0x45cb97
mov edi, esi
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x45c950
sub edi, ecx
cmp edi, 0x7a1200
ja 0x45cb97
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
lea eax, [edi*2 + 2]
push 0x2b8
push eax
call sym.curl_dbg_malloc
mov ebx, eax
add esp, 0xc
mov eax, dword [esp + 0x14]
mov dword [eax + 0x28], ebx
test ebx, ebx
je 0x45d1ad
lea eax, [edi + 1]
add eax, ebx
mov dword [esp + 0x18], eax
push 0x29
mov byte [eax], 0
lea eax, [esp + 0x40]
push eax
push esi
call fcn.0045b4b0
mov edx, dword [esp + 0x84]
add esp, 0xc
test al, al
je 0x45cb10
lea ebp, [esp + 0x3c]
mov byte [esp + 0x13], 1
lea ecx, [ebp + 1]
mov al, byte [ebp]
inc ebp
test al, al
jne 0x45c9c7
lea eax, [esp + 0x3c]
sub ebp, ecx
push str.file
push eax
call fcn.004545d0
add esp, 8
test eax, eax
je 0x45cb0c
add esi, 5
mov ecx, ebx
sub ecx, esi
mov al, byte [esi]
lea esi, [esi + 1]
mov byte [ecx + esi - 1], al
test al, al
jne 0x45c9f2
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x2ca
xor ebp, ebp
push str.file
mov dword [esp + 0x24], ebp
call sym.curl_dbg_strdup
mov edi, dword [esp + 0x20]
add esp, 0xc
mov dword [edi], eax
test eax, eax
je 0x45d1ad
mov al, byte [ebx]
cmp al, 0x2f
jne 0x45cc67
cmp byte [ebx + 1], al
jne 0x45cab0
mov cl, byte [ebx + 2]
add ebx, 2
mov al, cl
cmp cl, 0x2f
je 0x45caa8
cmp cl, 0x61
jl 0x45ca50
cmp cl, 0x7a
jle 0x45ca58
mov al, cl
sub al, 0x41
cmp al, 0x19
ja 0x45ca76
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x45ca63
cmp al, 0x7c
jne 0x45ca76
mov dl, byte [ebx + 2]
mov al, cl
cmp dl, 0x2f
je 0x45caa8
cmp dl, 0x5c
je 0x45caa8
test dl, dl
je 0x45caa8
push 0xa
push ebx
push str.localhost_
call sym.curl_strnequal
add esp, 0xc
test eax, eax
jne 0x45caa2
push 0xa
push ebx
push str.127.0.0.1_
call sym.curl_strnequal
add esp, 0xc
test eax, eax
je 0x45cb97
mov al, byte [ebx + 9]
add ebx, 9
cmp al, 0x2f
jne 0x45cc67
mov al, byte [ebx + 1]
lea edx, [ebx + 1]
cmp al, 0x61
jl 0x45cabe
cmp al, 0x7a
jle 0x45cac8
sub al, 0x41
cmp al, 0x19
ja 0x45cc67
mov al, byte [ebx + 2]
cmp al, 0x3a
je 0x45cad7
cmp al, 0x7c
jne 0x45cc67
mov al, byte [ebx + 3]
cmp al, 0x2f
je 0x45caea
cmp al, 0x5c
je 0x45caea
test al, al
jne 0x45cc67
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45caf0
sub ecx, esi
lea eax, [ecx + 1]
push eax
push edx
push ebx
call sub.VCRUNTIME140.dll_memmove_1
add esp, 0xc
jmp 0x45cc67
mov edx, dword [esp + 0x78]
cmp byte [esp + 0x13], 0
mov byte [ebx], 0
je 0x45cbaf
inc esi
xor eax, eax
add esi, ebp
je 0x45cb97
cmp byte [esi], 0x2f
jne 0x45cb35
cmp eax, 4
jge 0x45cb35
inc eax
add esi, 1
jne 0x45cb25
dec eax
cmp eax, 2
ja 0x45cb97
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x2c], eax
call fcn.0042a7c0
add esp, 4
test eax, eax
jne 0x45cb70
mov eax, dword [esp + 0x78]
test al, 8
jne 0x45cb70
pop edi
pop esi
pop ebp
mov eax, 5
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004699fc
add esp, 0x5c
ret
lea edi, [esp + 0x3c]
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x45cb77
lea eax, [esp + 0x3c]
sub edi, ecx
push 0x475f5c
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcspn]
add esp, 8
cmp eax, edi
je 0x45cbcd
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004699fc
add esp, 0x5c
ret
test edx, 0x204
je 0x45cb97
test dl, 4
mov ebp, str.https
mov eax, 0
cmove ebp, eax
mov dword [esp + 0x28], ebp
jmp 0x45cbd1
mov edx, dword [esp + 0x78]
mov al, byte [esi]
mov ecx, esi
test al, al
je 0x45cbf4
nop dword [eax]
cmp al, 0x2f
je 0x45cbf4
cmp al, 0x3f
je 0x45cbf4
cmp al, 0x23
je 0x45cbf4
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x45cbe0
mov edi, esi
sub edi, ecx
je 0x45cc0f
mov ebp, dword [esp + 0x18]
push edi
push ecx
push ebp
call sub.VCRUNTIME140.dll_memcpy_1
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x45cc17
test edx, 0x400
je 0x45cb97
mov edi, esi
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x45cc20
sub edi, ecx
push edi
push esi
push ebx
call sub.VCRUNTIME140.dll_memcpy_1
mov eax, dword [esp + 0x34]
add esp, 0xc
mov byte [edi + ebx], 0
test eax, eax
je 0x45cc63
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x344
push eax
call sym.curl_dbg_strdup
mov edi, dword [esp + 0x20]
add esp, 0xc
mov dword [edi], eax
test eax, eax
je 0x45d1ad
jmp 0x45cc67
mov edi, dword [esp + 0x14]
mov esi, ebx
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x45cc70
push 0x475f5c
push ebx
sub esi, ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcspn]
add esp, 8
cmp eax, esi
jne 0x45cb97
mov eax, dword [esp + 0x78]
test al, al
jns 0x45cd9f
cmp byte [ebx], 0
je 0x45cd9f
mov ecx, ebx
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45ccb0
sub ecx, edx
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x34f
lea eax, [ecx + ecx*2]
push eax
call sym.curl_dbg_malloc
add esp, 0xc
mov dword [esp + 0x20], eax
test eax, eax
je 0x45d1ad
cmp byte [ebx], 0
mov dh, 1
mov byte [esp + 0x12], 1
mov esi, eax
mov edi, ebx
je 0x45cd93
nop
cmp edi, ebx
jae 0x45ccfd
mov al, byte [edi]
mov byte [esi], al
jmp 0x45cd84
mov dl, byte [edi]
cmp dl, 0x20
je 0x45cd6f
xor ecx, ecx
movzx eax, dh
cmp dl, 0x3f
movzx ebp, dl
push ebp
cmovne ecx, eax
mov byte [esp + 0x23], cl
call fcn.0041ff00
add esp, 4
test eax, eax
jne 0x45cd5e
push ebp
call fcn.0041ffa0
add esp, 4
test eax, eax
jne 0x45cd5e
push ebp
call fcn.0041ff40
add esp, 4
test eax, eax
jne 0x45cd5e
movzx eax, byte [edi]
push eax
push str.___02x
push 4
push esi
call sym.curl_msnprintf
mov dh, byte [esp + 0x2f]
mov eax, 3
add esp, 0x10
add esi, eax
jmp 0x45cd85
mov al, byte [edi]
mov dh, byte [esp + 0x1f]
mov byte [esi], al
mov eax, 1
add esi, eax
jmp 0x45cd85
test dh, dh
je 0x45cd81
mov word [esi], 0x3225
mov byte [esi + 2], 0x30
add esi, 3
jmp 0x45cd85
mov byte [esi], 0x2b
inc esi
inc edi
cmp byte [edi], 0
jne 0x45ccf0
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
mov ebx, eax
mov byte [esi], 0
mov dword [edi + 0x2c], eax
push 0x23
push ebx
call sub.VCRUNTIME140.dll_strchr_1
add esp, 8
test eax, eax
je 0x45cdd5
mov byte [eax], 0
inc eax
cmp byte [eax], 0
je 0x45cdd5
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x35b
push eax
call sym.curl_dbg_strdup
add esp, 0xc
mov dword [edi + 0x24], eax
test eax, eax
je 0x45d1ad
push 0x3f
push ebx
call sub.VCRUNTIME140.dll_strchr_1
add esp, 8
test eax, eax
je 0x45ce06
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
mov byte [eax], 0
inc eax
push 0x365
push eax
call sym.curl_dbg_strdup
add esp, 0xc
mov dword [edi + 0x20], eax
test eax, eax
je 0x45d1ad
cmp byte [ebx], 0
je 0x45cebd
test byte [esp + 0x78], 0x10
jne 0x45ce8f
push ebx
call fcn.004223a0
mov esi, eax
add esp, 4
test esi, esi
je 0x45d1ad
mov edx, ebx
mov ecx, esi
nop dword [eax]
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x45ce50
test al, al
je 0x45ce4c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x45ce50
add ecx, 2
add edx, 2
test al, al
jne 0x45ce30
xor eax, eax
jmp 0x45ce55
sbb eax, eax
or eax, 1
test eax, eax
je 0x45ce7c
cmp byte [esp + 0x12], 0
je 0x45ce75
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x377
push dword [edi + 0x2c]
call sym.curl_dbg_free
add esp, 0xc
mov ebx, esi
mov dword [edi + 0x2c], esi
jmp 0x45ceab
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x37c
push esi
call sym.curl_dbg_free
add esp, 0xc
cmp byte [esp + 0x12], 0
jne 0x45ceab
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x37f
push ebx
call sym.curl_dbg_strdup
add esp, 0xc
mov ebx, eax
mov dword [edi + 0x1c], ebx
test ebx, ebx
je 0x45d1ad
mov dword [edi + 0x2c], 0
mov ebp, dword [esp + 0x18]
test ebp, ebp
je 0x45d285
mov esi, ebp
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x45ced0
push 0x475f5c
push ebp
sub esi, ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcspn]
add esp, 8
cmp eax, esi
jne 0x45cb97
xor edi, edi
push 0x40
push ebp
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x28], edi
call sub.VCRUNTIME140.dll_strchr_1
mov esi, eax
add esp, 8
mov ebx, ebp
test esi, esi
je 0x45cfc6
mov edi, dword [esp + 0x14]
inc esi
mov ebp, esi
mov eax, dword [edi]
test eax, eax
je 0x45cf3e
push eax
call fcn.0042a7c0
add esp, 4
test eax, eax
je 0x45cf3e
test dword [eax + 0x48], 0x400
je 0x45cf3e
lea eax, [esp + 0x20]
jmp 0x45cf40
xor eax, eax
push eax
lea eax, [esp + 0x30]
sub esi, ebx
push eax
lea eax, [esp + 0x2c]
dec esi
push eax
push esi
push ebx
call fcn.0042b700
add esp, 0x14
test eax, eax
mov eax, dword [esp + 0x24]
je 0x45cf67
mov edi, 3
jmp 0x45cfca
mov ebx, dword [esp + 0x78]
test eax, eax
je 0x45cf7e
test bl, 0x20
je 0x45cf7b
mov edi, 8
jmp 0x45cfce
mov dword [edi + 4], eax
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x45cf89
mov dword [edi + 8], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x45cf94
mov dword [edi + 0xc], eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x16]
push eax
push str.__45_0123456789abcdefABCDEF:.__c_n
push ebp
call fcn.00418e30
add esp, 0x10
cmp eax, 1
jne 0x45d074
mov al, byte [esp + 0x12]
cmp al, 0x5d
jne 0x45d020
mov esi, dword [esp + 0x18]
jmp 0x45d05f
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x78]
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x1ed
push eax
call sym.curl_dbg_free
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x1ee
push dword [esp + 0x40]
call sym.curl_dbg_free
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x1ef
push dword [esp + 0x40]
call sym.curl_dbg_free
add esp, 0x24
test edi, edi
je 0x45cf94
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004699fc
add esp, 0x5c
ret
cmp al, 0x25
jne 0x45cb97
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x16]
push eax
lea eax, [esi + ebp]
push str._____c_n
push eax
call fcn.00418e30
add esp, 0x10
cmp eax, 1
jne 0x45cb97
cmp byte [esp + 0x12], 0x5d
jne 0x45cb97
add esi, dword [esp + 0x18]
add esi, ebp
test esi, esi
je 0x45d0a8
mov al, byte [esi]
test al, al
je 0x45d0a8
cmp al, 0x3a
je 0x45d085
jmp 0x45cb97
push 0x3a
push ebp
call sub.VCRUNTIME140.dll_strchr_1
mov esi, eax
add esp, 8
test esi, esi
je 0x45d0a8
mov al, byte [esi + 1]
lea edi, [esi + 1]
test al, al
jne 0x45d12d
mov byte [esi], al
movzx eax, byte [esp + 0x13]
xor eax, 1
shl eax, 2
test eax, eax
jne 0x45cb9c
mov edi, dword [esp + 0x14]
mov ecx, ebp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45d0b1
sub ecx, edx
jne 0x45d0c4
test ebx, 0x400
jne 0x45d0d6
push ebp
push edi
call fcn.0045c700
add esp, 8
test eax, eax
jne 0x45cb9c
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x39d
push ebp
call sym.curl_dbg_strdup
add esp, 0xc
mov dword [edi + 0x10], eax
test eax, eax
je 0x45d1ad
test ebx, 0x200
je 0x45d285
cmp dword [esp + 0x28], 0
jne 0x45d285
push 4
push ebp
push str.ftp.
call sym.curl_strnequal
add esp, 0xc
test eax, eax
je 0x45d1dd
mov ecx, 0x46ec08
jmp 0x45d268
movzx eax, al
push eax
call fcn.0041ff20
add esp, 4
test eax, eax
je 0x45d1c5
push 0xa
lea eax, [esp + 0x34]
push eax
push edi
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov edi, eax
add esp, 0xc
lea ecx, [edi - 1]
cmp ecx, 0xfffe
ja 0x45d1c5
mov eax, dword [esp + 0x30]
cmp byte [eax], 0
jne 0x45d1c5
push edi
mov byte [esi], 0
push 0x470738
mov byte [eax], 0
lea eax, [esp + 0x3c]
push 7
push eax
call sym.curl_msnprintf
mov eax, dword [esp + 0x24]
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x23e
mov dword [eax + 0x30], edi
lea eax, [esp + 0x4c]
push eax
call sym.curl_dbg_strdup
mov edi, dword [esp + 0x30]
add esp, 0x1c
mov dword [edi + 0x18], eax
test eax, eax
jne 0x45d0ac
pop edi
pop esi
pop ebp
mov eax, 7
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004699fc
add esp, 0x5c
ret
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.004699fc
add esp, 0x5c
ret
push 5
push ebp
push str.dict.
call sym.curl_strnequal
add esp, 0xc
test eax, eax
je 0x45d1f8
mov ecx, str.dict
jmp 0x45d268
push 5
push ebp
push str.ldap.
call sym.curl_strnequal
add esp, 0xc
test eax, eax
je 0x45d213
mov ecx, str.ldap
jmp 0x45d268
push 5
push ebp
push str.imap.
call sym.curl_strnequal
add esp, 0xc
test eax, eax
je 0x45d22e
mov ecx, str.imap
jmp 0x45d268
push 5
push ebp
push str.smtp.
call sym.curl_strnequal
add esp, 0xc
test eax, eax
je 0x45d249
mov ecx, str.smtp
jmp 0x45d268
push 5
push ebp
push str.pop3.
call sym.curl_strnequal
add esp, 0xc
mov ecx, str.pop3
test eax, eax
mov edx, str.http
cmove ecx, edx
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x3b2
push ecx
call sym.curl_dbg_strdup
add esp, 0xc
mov dword [edi], eax
test eax, eax
je 0x45d1ad
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x3b8
push dword [edi + 0x28]
call sym.curl_dbg_free
push str.C:dev_vcpkg_buildtreescurl_srce5cd7b457b_e7993911b1.cleanliburlapi.c
push 0x3b9
push dword [edi + 0x2c]
mov dword [edi + 0x28], 0
call sym.curl_dbg_free
mov ecx, dword [esp + 0x80]
add esp, 0x18
mov dword [edi + 0x2c], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004699fc
add esp, 0x5c
ret