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

Disassembly:
sub esp, 0x18
push ebx
push ebp
mov ebp, dword [esp + 0x28]
push esi
push edi
xor edi, edi
mov byte [esp + 0x12], 0
mov eax, dword [ebp + 0x548]
xor esi, esi
mov dword [esp + 0x18], edi
test byte [eax + 0x40], 3
je 0x10033a3a
cmp byte [ebp + 0x515], 0
je 0x10033a16
cmp byte [ebp + 0x508], 0
jne 0x10033a3a
mov ebx, dword [esp + 0x2c]
push dword [ebx + 0x78]
call fcn.1002a380
add esp, 4
test al, al
je 0x10033a3e
cmp dword [ebx + 0x844], 3
mov eax, 2
cmovge esi, eax
jmp 0x10033a3e
mov ebx, dword [esp + 0x2c]
test esi, esi
setne al
test byte [ebx + 0xd70], 0x28
mov byte [esp + 0x30], al
je 0x10033a60
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x10033a60
mov al, 1
jmp 0x10033a62
xor al, al
cmp byte [ebp + 0x511], 0
mov byte [esp + 0x13], al
je 0x10033a8b
test byte [ebx + 0xd80], 0x28
je 0x10033a8b
mov eax, dword [ebp + 0x548]
test byte [eax + 0x40], 3
je 0x10033a8b
mov byte [esp + 0x11], 1
jmp 0x10033a91
xor al, al
mov byte [esp + 0x11], al
mov eax, dword [esp + 0x38]
mov byte [eax], 0
mov eax, dword [esp + 0x3c]
mov byte [eax], 0
lea eax, [esp + 0x20]
push eax
push dword [ebx + 0xcd0]
push ebp
call fcn.10031ba0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x24], edi
test edi, edi
je 0x100342b5
cmp dword [edi], 2
mov eax, str.serially
mov ecx, str.can_multiplex
cmovne ecx, eax
push ecx
push edi
push dword [esp + 0x28]
push str.Found_bundle_for_host__s:__p___s__n
push ebx
call fcn.10038a30
add esp, 0x14
test esi, esi
je 0x10033b79
mov eax, dword [edi]
test eax, eax
jne 0x10033b36
cmp byte [ebx + 0xb25], al
je 0x10033b20
push str.Server_doesnt_support_multiplex_yet__wait_n
push ebx
call fcn.10038a30
mov eax, dword [esp + 0x44]
push ebx
mov byte [eax], 1
call fcn.100320e0
add esp, 0xc
xor al, al
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push str.Server_doesnt_support_multiplex__yet__n
push ebx
call fcn.10038a30
add esp, 8
xor al, al
mov byte [esp + 0x30], al
mov eax, dword [edi]
cmp eax, 2
jne 0x10033b5e
push dword [ebx + 0x78]
call fcn.1002a380
add esp, 4
test al, al
jne 0x10033b5e
push str.Could_multiplex__but_not_asked_to__n
push ebx
call fcn.10038a30
add esp, 8
xor al, al
mov byte [esp + 0x30], al
cmp dword [edi], 0xffffffff
jne 0x10033b79
push str.Can_not_multiplex__even_if_we_wanted_to__n
push ebx
call fcn.10038a30
add esp, 8
xor cl, cl
mov byte [esp + 0x30], cl
jmp 0x10033b7d
mov cl, byte [esp + 0x30]
mov esi, dword [edi + 8]
test esi, esi
je 0x100342b5
mov edi, dword [esi]
xor eax, eax
mov esi, dword [esi + 8]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], esi
cmp byte [edi + 0x526], al
jne 0x1003424f
cmp byte [edi + 0x508], al
jne 0x1003424f
mov edx, dword [esp + 0x24]
cmp dword [edx], 2
jne 0x10033bc2
mov eax, dword [edi + 0x5dc]
mov dword [esp + 0x1c], eax
test cl, cl
jne 0x10033c16
test eax, eax
jne 0x1003424f
cmp byte [edi + 0x2c4], al
jne 0x10033bef
push dword [edi + 0x2b0]
push str.Connection__ld_is_still_name_resolving__cant_reuse_n
push ebx
call fcn.10038a30
add esp, 0xc
jmp 0x1003424b
cmp dword [edi + 0x420], 0xffffffff
jne 0x10033c16
push dword [edi + 0x2b0]
mov byte [esp + 0x16], 1
push str.Connection__ld_isnt_open_enough__cant_reuse_n
push ebx
call fcn.10038a30
add esp, 0xc
jmp 0x1003424b
mov ecx, dword [ebp + 0x7e8]
mov eax, dword [edi + 0x7e8]
test ecx, ecx
je 0x10033c6b
test eax, eax
je 0x1003424b
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10033c50
test dl, dl
je 0x10033c4c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10033c50
add ecx, 2
add eax, 2
test dl, dl
jne 0x10033c30
xor eax, eax
jmp 0x10033c55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1003424b
mov al, byte [ebp + 0x7ec]
cmp al, byte [edi + 0x7ec]
jmp 0x10033c6d
test eax, eax
jne 0x1003424b
mov ecx, dword [edi + 0x548]
mov edx, dword [ebp + 0x548]
mov eax, dword [ecx + 0x44]
xor eax, dword [edx + 0x44]
test al, 1
je 0x10033caa
push dword [ecx + 0x40]
call fcn.10036b00
add esp, 4
cmp eax, dword [edx + 0x40]
jne 0x1003424b
cmp byte [edi + 0x7ed], 0
je 0x1003424b
mov al, byte [ebp + 0x50e]
cmp al, byte [edi + 0x50e]
jne 0x1003424b
mov al, byte [ebp + 0x50f]
cmp al, byte [edi + 0x50f]
jne 0x1003424b
test al, al
je 0x10033dce
mov eax, dword [ebp + 0x338]
cmp eax, dword [edi + 0x338]
jne 0x1003424b
mov eax, dword [ebp + 0x334]
cmp eax, dword [edi + 0x334]
jne 0x1003424b
push dword [edi + 0x32c]
push dword [ebp + 0x32c]
call fcn.1003ce10
add esp, 8
test eax, eax
je 0x1003424b
mov edx, dword [ebp + 0x33c]
xor ecx, ecx
mov esi, dword [edi + 0x33c]
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp ecx, eax
jne 0x10034247
test edx, edx
je 0x10033d6d
test esi, esi
je 0x10033d6d
mov al, byte [edx]
cmp al, byte [esi]
jne 0x10033d60
test al, al
je 0x10033d5c
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x10033d60
add edx, 2
add esi, 2
test al, al
jne 0x10033d40
xor eax, eax
jmp 0x10033d65
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10034247
mov edx, dword [ebp + 0x340]
xor ecx, ecx
mov esi, dword [edi + 0x340]
test edx, edx
sete cl
xor eax, eax
test esi, esi
sete al
cmp ecx, eax
jne 0x10034247
test edx, edx
je 0x10033dca
test esi, esi
je 0x10033dca
mov al, byte [edx]
cmp al, byte [esi]
jne 0x10033db7
test al, al
je 0x10033db3
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x10033db7
add edx, 2
add esi, 2
test al, al
jne 0x10033d97
xor eax, eax
jmp 0x10033dbc
sbb eax, eax
or eax, 1
mov esi, dword [esp + 0x14]
test eax, eax
jne 0x1003424b
jmp 0x10033dce
mov esi, dword [esp + 0x14]
mov al, byte [ebp + 0x50b]
cmp al, byte [edi + 0x50b]
jne 0x1003424b
mov al, byte [ebp + 0x50c]
cmp al, byte [edi + 0x50c]
jne 0x1003424b
cmp byte [ebp + 0x50e], 0
je 0x10033eb8
mov eax, dword [ebp + 0x358]
cmp eax, dword [edi + 0x358]
jne 0x1003424b
mov eax, dword [ebp + 0x354]
cmp eax, dword [edi + 0x354]
jne 0x1003424b
push dword [edi + 0x34c]
push dword [ebp + 0x34c]
call fcn.1003ce10
add esp, 8
test eax, eax
je 0x1003424b
mov al, byte [ebp + 0x517]
cmp al, byte [edi + 0x517]
jne 0x1003424b
cmp dword [ebp + 0x358], 2
jne 0x10033eb8
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x10033e8d
lea eax, [edi + 0x4d8]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.10032f40
add esp, 8
test al, al
je 0x1003424b
cmp dword [edi + 0x488], 2
jmp 0x10033eb2
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.10032f40
add esp, 8
test al, al
je 0x1003424b
cmp dword [edi + 0x468], 2
jne 0x1003424b
mov cl, byte [esp + 0x30]
mov eax, dword [edi]
test cl, cl
jne 0x10033ecc
test eax, eax
jne 0x1003424f
jmp 0x10033edf
test eax, eax
je 0x10033edf
mov ecx, dword [ebp]
mov eax, dword [eax + 0x78]
cmp eax, dword [ecx + 0x78]
jne 0x1003424b
mov ecx, dword [ebp + 0x7cc]
test ecx, ecx
jne 0x10033ef2
cmp word [ebp + 0x7d0], cx
je 0x10033f5d
mov ax, word [edi + 0x7d0]
cmp ax, word [ebp + 0x7d0]
jne 0x1003424b
mov eax, dword [edi + 0x7d4]
cmp eax, dword [ebp + 0x7d4]
jne 0x1003424b
test ecx, ecx
je 0x10033f5d
mov eax, dword [edi + 0x7cc]
test eax, eax
je 0x1003424b
nop word [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10033f50
test dl, dl
je 0x10033f4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10033f50
add eax, 2
add ecx, 2
test dl, dl
jne 0x10033f30
xor eax, eax
jmp 0x10033f55
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1003424b
mov esi, dword [ebp + 0x548]
mov ebx, dword [esi + 0x44]
test bl, bl
js 0x10033fdd
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10033f96
test dl, dl
je 0x10033f92
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10033f96
add eax, 2
add ecx, 2
test dl, dl
jne 0x10033f76
xor eax, eax
jmp 0x10033f9b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10034243
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10033fd0
test dl, dl
je 0x10033fcc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10033fd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10033fb0
xor eax, eax
jmp 0x10033fd5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10034243
cmp byte [ebp + 0x50e], 0
je 0x10033ff8
test bl, 1
jne 0x10033ff8
cmp byte [ebp + 0x517], 0
je 0x100340e6
mov eax, dword [edi + 0x548]
push dword [eax]
push dword [esi]
call fcn.1003ce40
add esp, 8
test eax, eax
jne 0x1003403b
mov eax, dword [edi + 0x548]
push dword [eax + 0x40]
call fcn.10036b00
mov ecx, dword [ebp + 0x548]
add esp, 4
cmp eax, dword [ecx + 0x40]
jne 0x10034243
cmp byte [edi + 0x7ed], 0
je 0x10034243
cmp byte [ebp + 0x50b], 0
je 0x10034060
push dword [edi + 0x31c]
push dword [ebp + 0x31c]
call fcn.1003ce40
add esp, 8
test eax, eax
je 0x10034243
cmp byte [ebp + 0x50c], 0
je 0x1003407b
mov eax, dword [ebp + 0x36c]
cmp eax, dword [edi + 0x36c]
jne 0x10034243
push dword [edi + 0x304]
push dword [ebp + 0x304]
call fcn.1003ce40
add esp, 8
test eax, eax
je 0x10034243
mov eax, dword [ebp + 0x368]
cmp eax, dword [edi + 0x368]
jne 0x10034243
mov eax, dword [ebp + 0x548]
test byte [eax + 0x44], 1
je 0x100340e6
lea eax, [edi + 0x4ac]
push eax
lea eax, [ebp + 0x4ac]
push eax
call fcn.10032f40
add esp, 8
test al, al
je 0x10034243
cmp dword [edi + 0x468], 2
je 0x100340e6
mov byte [esp + 0x12], 1
jmp 0x10034243
mov bh, byte [esp + 0x13]
test bh, bh
je 0x10034180
mov ecx, dword [edi + 0x3d8]
mov eax, dword [ebp + 0x3d8]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10034120
test dl, dl
je 0x1003411c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10034120
add eax, 2
add ecx, 2
test dl, dl
jne 0x10034100
xor eax, eax
jmp 0x10034125
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1003415e
mov ecx, dword [edi + 0x3dc]
mov eax, dword [ebp + 0x3dc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10034155
test dl, dl
je 0x10034151
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10034155
add eax, 2
add ecx, 2
test dl, dl
jne 0x10034135
xor eax, eax
jmp 0x1003415a
sbb eax, eax
or eax, 1
test eax, eax
je 0x1003418d
cmp dword [edi + 0x5ec], 0
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
jne 0x1003424f
mov dword [esp + 0x18], edi
jmp 0x1003424f
cmp dword [edi + 0x5ec], 0
jne 0x10034243
mov al, byte [esp + 0x11]
test al, al
je 0x10034259
mov eax, dword [edi + 0x35c]
test eax, eax
je 0x10034243
mov edx, dword [edi + 0x360]
test edx, edx
je 0x10034243
mov ecx, dword [ebp + 0x35c]
nop dword [eax + eax]
mov bl, byte [ecx]
cmp bl, byte [eax]
jne 0x100341e0
test bl, bl
je 0x100341dc
mov bl, byte [ecx + 1]
cmp bl, byte [eax + 1]
jne 0x100341e0
add ecx, 2
add eax, 2
test bl, bl
jne 0x100341c0
xor eax, eax
jmp 0x100341e5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10034243
mov eax, dword [ebp + 0x360]
nop
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x10034210
test cl, cl
je 0x1003420c
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x10034210
add eax, 2
add edx, 2
test cl, cl
jne 0x100341f0
xor eax, eax
jmp 0x10034215
sbb eax, eax
or eax, 1
test eax, eax
jne 0x10034243
mov al, byte [esp + 0x11]
test bh, bh
jne 0x10034225
test al, al
je 0x10034264
mov dword [esp + 0x18], edi
test bh, bh
je 0x10034236
cmp dword [edi + 0x5ec], 0
jne 0x10034287
test al, al
je 0x10034243
cmp dword [edi + 0x5f0], 0
jne 0x10034287
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov cl, byte [esp + 0x30]
test esi, esi
jne 0x10033b88
jmp 0x10034292
cmp dword [edi + 0x5f0], 0
jne 0x10034243
jmp 0x1003421d
mov al, byte [esp + 0x30]
mov ebx, dword [esp + 0x2c]
test al, al
je 0x10034296
cmp dword [esp + 0x1c], 0
je 0x10034296
push str.Multiplexed_connection_found__n
push ebx
call fcn.10038a30
add esp, 8
jmp 0x10034296
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
mov byte [eax], 1
mov edi, dword [esp + 0x18]
test edi, edi
je 0x100342b5
push ebx
mov dword [edi], ebx
call fcn.100320e0
mov eax, dword [esp + 0x38]
add esp, 4
mov dword [eax], edi
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret
push ebx
call fcn.100320e0
add esp, 4
cmp byte [esp + 0x12], 0
je 0x100342e3
cmp byte [ebx + 0xb25], 0
je 0x100342e3
push str.Found_pending_candidate_for_reuse_and_CURLOPT_PIPEWAIT_is_set_n
push ebx
call fcn.10038a30
mov eax, dword [esp + 0x44]
add esp, 8
mov byte [eax], 1
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x18
ret