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

Disassembly:
sub esp, 0x28
mov eax, dword [0x562904]
xor eax, esp
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
push edi
mov edi, dword [esp + 0x40]
mov byte [eax], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], eax
mov dword [edi], 0
cmp dword [ebp + 0xc64], 0
mov byte [esp + 0x12], 1
mov byte [esp + 0x13], 0
jne 0x45c23c
mov esi, 3
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.004f1532
add esp, 0x28
ret
push ebp
call fcn.0045bfc0
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x45c265
mov esi, 0x1b
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.004f1532
add esp, 0x28
ret
push ebx
push ebp
mov dword [edi], ebx
call fcn.0045dcb0
mov esi, eax
add esp, 8
test esi, esi
jne 0x45cb24
mov eax, dword [ebp + 0x5e4]
test eax, eax
je 0x45c299
push eax
call dword [0x56200c]
add esp, 4
mov dword [ebx + 0x16c], eax
test eax, eax
je 0x45c24b
mov eax, dword [ebp + 0x5cc]
test eax, eax
je 0x45c2b7
push eax
call dword [0x56200c]
add esp, 4
mov dword [ebx + 0x170], eax
test eax, eax
je 0x45c24b
mov eax, dword [ebp + 0x5d0]
test eax, eax
je 0x45c2e5
push eax
call dword [0x56200c]
add esp, 4
mov dword [ebx + 0x4f0], eax
test eax, eax
je 0x45c24b
mov al, byte [ebp + 0x6c5]
mov byte [ebx + 0x2aa], al
push ebx
push ebp
call fcn.0045cb40
mov esi, eax
add esp, 8
test esi, esi
jne 0x45cb24
mov eax, dword [ebx + 0x2b8]
test byte [eax + 0x50], 1
je 0x45c315
cmp byte [ebx + 0x290], 0
je 0x45c315
mov byte [ebx + 0x293], 1
movzx eax, word [ebp + 0x168]
test ax, ax
je 0x45c361
cmp byte [ebp + 0xd38], 0
je 0x45c361
push eax
push 0x528fe4
mov dword [ebx + 0x504], eax
lea eax, [esp + 0x28]
push 0x10
push eax
call fcn.00466010
push 0
lea eax, [esp + 0x34]
push eax
push 6
push dword [ebp + 0xc40]
call fcn.0046c260
add esp, 0x20
test eax, eax
jne 0x45c24b
push ebx
push ebp
call fcn.0045cfc0
mov esi, eax
add esp, 8
test esi, esi
jne 0x45cb24
mov eax, dword [ebx + 0x2b4]
mov ecx, str.anonymous
mov esi, str.ftp_example.com
test byte [eax + 0x50], 0x20
je 0x45c394
cmp dword [ebp + 0xd18], 0
je 0x45c39b
mov ecx, 0x550028
mov esi, ecx
cmp dword [ebx + 0x160], 0
jne 0x45c3bc
push ecx
call dword [0x56200c]
add esp, 4
mov dword [ebx + 0x160], eax
test eax, eax
je 0x45c24b
cmp dword [ebx + 0x164], 0
jne 0x45c3dd
push esi
call dword [0x56200c]
add esp, 4
mov dword [ebx + 0x164], eax
test eax, eax
je 0x45c24b
push dword [ebp + 0x3b0]
push ebx
push ebp
call fcn.0045d440
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45cb24
cmp byte [ebx + 0x290], al
je 0x45c413
lea eax, [ebx + 0x78]
push eax
call fcn.00493490
add esp, 4
test eax, eax
jne 0x45cb26
cmp byte [ebx + 0x291], 0
je 0x45c430
lea eax, [ebx + 0x58]
push eax
call fcn.00493490
add esp, 4
test eax, eax
jne 0x45cb26
cmp byte [ebx + 0x298], 0
je 0x45c46e
lea eax, [ebx + 0x48]
push eax
call fcn.00493490
add esp, 4
test eax, eax
jne 0x45cb26
cmp byte [ebx + 0x298], al
je 0x45c46e
push dword [ebx + 0x38]
push dword [ebx + 0x50]
call fcn.004677a0
add esp, 8
test eax, eax
je 0x45c46e
mov byte [ebx + 0x298], 0
mov cl, byte [ebx + 0x299]
test cl, cl
je 0x45c48f
mov eax, dword [ebx + 0x508]
cmp eax, dword [ebx + 0x504]
jne 0x45c48f
mov byte [ebx + 0x299], 0
xor cl, cl
cmp byte [ebx + 0x298], 0
jne 0x45c49c
test cl, cl
je 0x45c4ac
cmp byte [ebx + 0x290], 0
je 0x45c4ac
mov byte [ebx + 0x293], 1
mov ecx, dword [ebx + 0x2b4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x45c4d0
push ebx
push ebp
call eax
mov esi, eax
add esp, 8
test esi, esi
jne 0x45cb24
mov ecx, dword [ebx + 0x2b4]
mov eax, dword [ebx + 0xf4]
test eax, eax
jns 0x45c4e3
mov eax, dword [ecx + 0x44]
mov dword [ebx + 0xf4], eax
cmp byte [ebx + 0x290], 0
je 0x45c4fd
cmp byte [ebx + 0x293], 0
jne 0x45c4fd
mov ecx, dword [ebx + 0x80]
jmp 0x45c514
cmp byte [ebx + 0x298], 0
mov eax, dword [ebx + 0x504]
je 0x45c511
mov ecx, dword [ebx + 0x50]
jmp 0x45c514
mov ecx, dword [ebx + 0x38]
push ecx
push eax
push dword [ebx + 0x50c]
push str._u__d__s
call fcn.00465f70
mov edx, eax
add esp, 0x10
mov dword [ebx + 0x20], edx
test edx, edx
je 0x45c24b
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45c540
sub ecx, esi
push ecx
push edx
push edx
lea eax, [ecx + 1]
mov dword [ebx + 0x24], eax
call fcn.004676c0
mov eax, dword [ebx + 0x2b4]
add esp, 0xc
test byte [eax + 0x50], 0x10
je 0x45c619
mov eax, dword [eax]
lea ecx, [esp + 0x12]
mov dword [ebp + 0xdfc], eax
mov eax, dword [ebx + 0x2b4]
push ecx
push ebp
mov eax, dword [eax + 0x48]
and eax, 0x3ffffff
mov dword [ebp + 0xe00], eax
mov eax, dword [ebx + 0x2b4]
mov eax, dword [eax + 0x14]
call eax
mov esi, eax
add esp, 8
test esi, esi
jne 0x45c5fa
push ebx
push ebp
call fcn.0044cce0
push ebx
push ebp
call fcn.004568b0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x45cb24
push ebp
call fcn.0045e620
mov esi, eax
add esp, 4
test esi, esi
je 0x45c5f1
mov eax, dword [ebx + 0x2b4]
push 0
push esi
push ebp
mov eax, dword [eax + 0xc]
call eax
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.004f1532
add esp, 0x28
ret
push ebp
call fcn.0046b070
add esp, 4
push ebx
push ebp
call fcn.0045b920
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.004f1532
add esp, 0x28
ret
mov dword [ebx + 0x1b0], 0x45f530
mov dword [ebx + 0x1b8], 0x45f590
mov dword [ebx + 0x1b4], 0x45f530
mov dword [ebx + 0x1bc], 0x45f590
mov al, byte [ebp + 0x6be]
push ebp
mov byte [ebx + 0x2a7], al
call fcn.00459aa0
mov esi, eax
add esp, 4
test esi, esi
jne 0x45cb24
push ebp
call fcn.00457420
add esp, 4
cmp byte [ebp + 0x6b4], 0
je 0x45c67e
cmp dword [ebp + 0x8dc], esi
je 0x45c960
cmp byte [ebp + 0x695], 0
jne 0x45c960
mov eax, dword [ebx + 0x2b4]
xorps xmm0, xmm0
movups xmmword [esp + 0x20], xmm0
mov dword [esp + 0x30], 0
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], ebx
test dword [eax + 0x48], 0xc0000003
je 0x45c6e3
cmp byte [ebx + 0x29d], 0
je 0x45c6c4
cmp byte [ebx + 0x295], 0
jne 0x45c6e3
push dword [ebp + 0x88]
call fcn.0044d970
add esp, 4
test al, al
je 0x45c6e3
cmp byte [ebp + 0xd2c], 3
jb 0x45c6e3
mov al, 1
jmp 0x45c6e5
xor al, al
test byte [ebp + 0x910], 8
mov byte [esp + 0x2c], al
je 0x45c705
mov eax, dword [ebx + 0x2b4]
test dword [eax + 0x48], 0xc0000003
je 0x45c705
mov al, 1
jmp 0x45c707
xor al, al
cmp byte [ebx + 0x292], 0
mov byte [esp + 0x2d], al
je 0x45c730
test byte [ebp + 0x920], 8
je 0x45c730
mov eax, dword [ebx + 0x2b4]
test dword [eax + 0x48], 0xc0000003
je 0x45c730
mov al, 1
jmp 0x45c732
xor al, al
mov byte [esp + 0x2e], al
lea eax, [esp + 0x20]
push eax
push 0x45f040
push 0x45e7a0
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push ebp
call fcn.00457130
mov edi, dword [esp + 0x38]
add esp, 0x18
mov cl, byte [esp + 0x2f]
mov dword [esp + 0x1c], edi
test al, al
je 0x45c966
cmp dword [ebx + 0x160], 0
je 0x45c7cc
push dword [edi + 0x160]
call dword [0x562004]
push dword [edi + 0x164]
mov dword [edi + 0x160], 0
call dword [0x562004]
mov dword [edi + 0x164], 0
add esp, 8
mov eax, dword [ebx + 0x160]
mov dword [edi + 0x160], eax
mov eax, dword [ebx + 0x164]
mov dword [edi + 0x164], eax
mov dword [ebx + 0x160], 0
mov dword [ebx + 0x164], 0
mov al, byte [ebx + 0x292]
mov byte [edi + 0x292], al
test al, al
je 0x45c875
push dword [edi + 0x90]
call dword [0x562004]
push dword [edi + 0x70]
mov dword [edi + 0x90], 0
call dword [0x562004]
push dword [edi + 0x94]
mov dword [edi + 0x70], 0
call dword [0x562004]
push dword [edi + 0x74]
mov dword [edi + 0x94], 0
call dword [0x562004]
mov dword [edi + 0x74], 0
add esp, 0x10
mov eax, dword [ebx + 0x90]
mov dword [edi + 0x90], eax
mov eax, dword [ebx + 0x70]
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x94]
mov dword [edi + 0x94], eax
mov eax, dword [ebx + 0x74]
mov dword [edi + 0x74], eax
mov dword [ebx + 0x90], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x74], 0
lea esi, [edi + 0x30]
push esi
call fcn.00493240
add edi, 0x48
push edi
call fcn.00493240
push dword [esi]
call dword [0x562004]
push dword [edi]
mov dword [esi], 0
call dword [0x562004]
mov dword [edi], 0
movups xmm0, xmmword [ebx + 0x30]
movups xmmword [esi], xmm0
mov esi, dword [esp + 0x2c]
movups xmm0, xmmword [ebx + 0x48]
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
movups xmmword [edi], xmm0
mov eax, dword [ebx + 0x508]
mov dword [ebx + 0x48], 0
push dword [esi + 0x40]
mov dword [esi + 0x508], eax
mov eax, dword [ebx + 0x504]
mov dword [esi + 0x504], eax
call dword [0x562004]
mov dword [esi + 0x40], 0
mov eax, dword [ebx + 0x40]
mov dword [esi + 0x40], eax
push ebx
mov dword [ebx + 0x40], 0
push ebp
mov byte [esi + 0x296], 1
call fcn.0045b290
mov eax, dword [esp + 0x30]
add esp, 0x1c
mov ebx, esi
mov dword [eax], esi
cmp dword [esi + 0x60], 0
je 0x45c923
mov eax, dword [esi + 0x64]
jmp 0x45c937
cmp dword [esi + 0x80], 0
je 0x45c934
mov eax, dword [esi + 0x84]
jmp 0x45c937
mov eax, dword [esi + 0x3c]
cmp byte [esi + 0x294], 0
mov ecx, str.host
push eax
mov eax, str.proxy
cmove eax, ecx
push eax
push str.Re_using_existing_connection_with__s__s
push ebp
call fcn.004607a0
add esp, 0x10
jmp 0x45ca6d
mov cl, byte [esp + 0x13]
jmp 0x45c96a
mov edi, dword [esp + 0x14]
mov eax, dword [ebx + 0x2b4]
test dword [eax + 0x50], 0x100
je 0x45c989
cmp byte [ebp + 0x6bf], 0
je 0x45c989
mov byte [ebx + 0x2a8], 1
test cl, cl
jne 0x45cb04
push ebx
push ebp
call fcn.00456a70
add esp, 8
sub eax, 1
je 0x45caf6
sub eax, 1
jne 0x45c9e1
cmp dword [ebp + 0x674], eax
jl 0x45c9c2
jg 0x45c9bb
cmp dword [ebp + 0x670], eax
jb 0x45c9c2
mov eax, str.Allowing_DoH_to_override_max_connection_limit
jmp 0x45c9cc
mov byte [esp + 0x12], 0
mov eax, str.No_connections_available_in_cache
push eax
push ebp
call fcn.004607a0
add esp, 8
cmp byte [esp + 0x12], 0
je 0x45cb04
push ebx
push ebp
call fcn.00459990
mov esi, eax
add esp, 8
test esi, esi
jne 0x45cb24
push ebx
push ebp
call fcn.0044cce0
push ebx
push ebp
call fcn.004568b0
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x45cb24
test byte [ebp + 0x914], 8
je 0x45ca3c
cmp byte [ebp + 0x91c], al
je 0x45ca3c
push str.NTLM_picked_AND_auth_done_set__clear_picked
push ebp
call fcn.004607a0
add esp, 8
mov dword [ebp + 0x914], esi
mov byte [ebp + 0x91c], 0
test byte [ebp + 0x924], 8
je 0x45ca6d
cmp byte [ebp + 0x92c], 0
je 0x45ca6d
push str.NTLM_proxy_picked_AND_auth_done_set__clear_picked
push ebp
call fcn.004607a0
add esp, 8
mov dword [ebp + 0x924], 0
mov byte [ebp + 0x92c], 0
push ebx
push ebp
call fcn.0045b920
push ebp
call fcn.0045e620
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45cb24
cmp byte [ebx + 0x296], 0
mov eax, dword [esp + 0x18]
je 0x45ca99
mov byte [eax], 0
jmp 0x45caaa
push eax
push ebx
push ebp
call fcn.0045e400
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x45cb24
mov eax, dword [ebx + 0x2b4]
push ebp
mov eax, dword [eax]
mov dword [ebp + 0xdfc], eax
mov eax, dword [ebx + 0x2b4]
mov eax, dword [eax + 0x48]
and eax, 0x3ffffff
mov dword [ebp + 0xe00], eax
mov al, byte [ebx + 0x294]
mov byte [ebp + 0xe11], al
call fcn.0045fed0
add esp, 4
mov esi, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x24]
xor ecx, esp
call fcn.004f1532
add esp, 0x28
ret
push str.No_more_connections_allowed_to_host
push ebp
call fcn.004607a0
add esp, 8
push str.No_connections_available.
push ebp
call fcn.004607a0
push ebx
push ebp
call fcn.0045b290
add esp, 0x10
mov dword [edi], 0
mov esi, 0x59
mov eax, esi
mov ecx, dword [esp + 0x34]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004f1532
add esp, 0x28
ret