Function at 0x6e028d20
Capabilities:
Print debug messages

Disassembly:
push 0x160
mov eax, 0x6e04cd26
call fcn.6e04936c
mov cl, byte [0x6e07047b]
mov edi, 0x6e06f7f0
mov esi, dword [ebp + 8]
test cl, cl
jne 0x6e028d49
cmp byte [0x6e07047a], cl
je 0x6e028d7d
push str.CURLBindingCallbacks::DumpToTempFileProc
push edi
call fcn.6e041df9
cmp byte [0x6e07047a], 0
pop ecx
pop ecx
je 0x6e028d66
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
mov cl, byte [0x6e07047b]
test cl, cl
je 0x6e028d7d
push edi
call fcn.6e003fc0
pop ecx
mov cl, byte [0x6e07047b]
mov ebx, dword [esi + 0xc]
xor eax, eax
mov dword [ebp - 0x164], 0xa
cmp dword [esi + 0x10], eax
je 0x6e028dd5
test ebx, ebx
je 0x6e028d9a
cmp dword [ebx + 0x30], eax
jne 0x6e028da6
cmp dword [esi + 4], 2
je 0x6e028dd5
cmp dword [esi + 4], 3
je 0x6e028dd5
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
mov edx, dword [eax + 0x1a4]
mov eax, edx
shr eax, 0x10
cmp ax, word [ebp - 0x164]
ja 0x6e028dc9
jne 0x6e028dd5
xor eax, eax
inc eax
cmp dx, ax
jb 0x6e028dd5
push esi
call fcn.6e041df9
pop ecx
jmp 0x6e0294db
test cl, cl
jne 0x6e028de1
cmp byte [0x6e07047a], cl
je 0x6e028e12
push dword [esi + 4]
push str._URLBinding__CURLBindingCallbacks::DumpToTempFileProc_callback_type___d
push edi
call fcn.6e041df9
add esp, 0xc
cmp byte [0x6e07047a], 0
je 0x6e028e02
push edi
call dword [sym.imp.kernel32.dll_OutputDebugStringA]
cmp byte [0x6e07047b], 0
je 0x6e028e12
push edi
call fcn.6e003fc0
pop ecx
mov ecx, dword [esi + 4]
sub ecx, 1
je 0x6e02945d
sub ecx, 1
je 0x6e029427
sub ecx, 1
jne 0x6e0294d4
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x6e0293ef
cmp dword [ebx + 0x28], 0
je 0x6e0293ef
call fcn.6e01e932
xor ecx, ecx
cmp dword [esi + 0x18], ecx
jl 0x6e0293f1
mov eax, dword [ebx + 0x28]
mov edi, ecx
mov dword [ebp - 0x11c], ecx
mov byte [ebp - 0x12c], cl
lea ecx, [ebp - 0x12c]
push 0x6e051790
mov dword [ebp - 0x16c], edi
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x118], 0xf
call fcn.6e010a4f
xor eax, eax
push eax
push SysReAllocString
push dword [ebx + 0x28]
mov dword [ebp - 4], eax
call fcn.6e041df9
mov ecx, dword [ebx]
add esp, 0xc
lea esi, [eax + 1]
mov ecx, dword [ecx + 0x14]
cmp byte [ecx + 0x328], 0
je 0x6e028ee6
push edi
push SysReAllocString
push dword [0x6e06c568]
call fcn.6e041df9
mov ecx, dword [ebx]
add esp, 0xc
mov ecx, dword [ecx + 0x14]
push eax
push dword [0x6e06c568]
call fcn.6e041df9
mov ecx, dword [ebx]
push esi
push dword [ebx + 0x28]
mov ecx, dword [ecx + 0x14]
call fcn.6e041df9
push str.docstream
push dword [ebx + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
mov ecx, dword [ebx]
test eax, eax
jne 0x6e029123
mov word [ebp - 0x16c], ax
xor esi, esi
lea eax, [ebp - 0x16c]
push eax
mov eax, dword [ecx + 0x14]
push 0x100
add eax, 0x1a8
push eax
push esi
push dword [ebx + 0x28]
call fcn.6e041df9
add esp, 0x14
test ax, ax
jne 0x6e028f3f
mov ecx, dword [ebx + 0x2c]
push esi
call fcn.6e041df9
mov dword [ebx + 0x28], esi
jmp 0x6e02931c
mov eax, dword [ebx]
push 0xa
pop edx
mov eax, dword [eax + 0x14]
mov ecx, dword [eax + 0x1a4]
mov eax, ecx
shr eax, 0x10
cmp ax, dx
ja 0x6e028f69
jne 0x6e0290bd
xor eax, eax
inc eax
cmp cx, ax
jb 0x6e0290bd
push 0xf
pop esi
push dword [ebx + 0x28]
xor eax, eax
mov dword [ebp - 0x130], esi
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x134], eax
mov byte [ebp - 0x144], al
call fcn.6e010a4f
xor eax, eax
inc eax
mov byte [ebp - 4], al
lea eax, [ebp - 0x144]
push eax
call fcn.6e03cb68
mov edi, eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x130]
pop ecx
cmp eax, 0x10
jb 0x6e029001
mov ecx, dword [ebp - 0x144]
inc eax
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x160], ecx
mov byte [ebp - 4], 2
cmp eax, 0x1000
jb 0x6e028ff1
lea eax, [ebp - 0x168]
push eax
lea eax, [ebp - 0x160]
push eax
call fcn.6e041df9
mov eax, dword [ebp - 0x168]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x160]
push eax
push ecx
call fcn.6e041df9
pop ecx
xor eax, eax
pop ecx
mov byte [ebp - 4], al
jmp 0x6e029003
xor eax, eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], esi
mov byte [ebp - 0x144], al
test edi, edi
je 0x6e02909e
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
test al, al
je 0x6e029088
xor eax, eax
push eax
push 0x6e06c7b4
push 0x6e06c794
push eax
push edi
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
jne 0x6e029075
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
mov ecx, dword [ebx + 0x2c]
push 0
mov dword [ebp - 0x164], eax
call fcn.6e041df9
mov ecx, str.MMFS
jmp 0x6e02907a
mov ecx, str.DMMF
push ecx
lea ecx, [ebp - 0x12c]
call fcn.6e010a4f
jmp 0x6e0290a0
mov eax, dword [edi]
xor ecx, ecx
inc ecx
push ecx
mov esi, dword [eax]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
xor eax, eax
mov edi, eax
test edi, edi
je 0x6e0290bd
mov eax, dword [edi]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
mov dword [ebp - 0x160], eax
jmp 0x6e0290c4
and dword [ebp - 0x160], 0
cmp dword [ebp - 0x118], 0x10
lea esi, [ebp - 0x12c]
push 0
cmovae esi, dword [ebp - 0x12c]
push SysReAllocString
push dword [ebp - 0x164]
call fcn.6e041df9
xor ecx, ecx
inc eax
push ecx
push ecx
push dword [ebp - 0x160]
push esi
push str.Cstring
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push eax
push dword [ebp - 0x164]
mov eax, dword [ebx]
push dword [ebx + 8]
push dword [eax + 0x10]
call fcn.6e041df9
add esp, 0x40
jmp 0x6e02931c
mov eax, dword [ecx + 0x14]
push 0xa
pop edx
mov ecx, dword [eax + 0x1a4]
mov eax, ecx
shr eax, 0x10
cmp ax, dx
ja 0x6e02914b
jne 0x6e02929e
xor eax, eax
inc eax
cmp cx, ax
jb 0x6e02929e
push 0xf
pop esi
push dword [ebx + 0x28]
xor eax, eax
mov dword [ebp - 0x148], esi
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x15c], al
call fcn.6e010a4f
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 3
push eax
call fcn.6e03cb68
mov edi, eax
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x16c], edi
pop ecx
cmp eax, 0x10
jb 0x6e0291e7
mov ecx, dword [ebp - 0x15c]
inc eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x168], ecx
mov byte [ebp - 4], 4
cmp eax, 0x1000
jb 0x6e0291d7
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.6e041df9
mov eax, dword [ebp - 0x160]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x168]
push eax
push ecx
call fcn.6e041df9
pop ecx
xor eax, eax
pop ecx
mov byte [ebp - 4], al
jmp 0x6e0291e9
xor eax, eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], esi
mov byte [ebp - 0x15c], al
test edi, edi
je 0x6e029279
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
mov esi, dword [edi]
test al, al
je 0x6e029267
mov ecx, dword [esi + 0x18]
call dword [0x6e050848]
mov ecx, edi
call dword [esi + 0x18]
push 0
push SysReAllocString
push eax
call fcn.6e041df9
mov ecx, dword [ebx + 0x2c]
add esp, 0xc
push 0
call fcn.6e041df9
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
push str.MMFS
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0x164], eax
call fcn.6e010a4f
jmp 0x6e029281
mov ecx, dword [esi]
xor eax, eax
inc eax
push eax
call dword [0x6e050848]
mov ecx, edi
call dword [esi]
xor eax, eax
mov edi, eax
mov dword [ebp - 0x16c], eax
test edi, edi
je 0x6e02929e
mov eax, dword [edi]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
mov dword [ebp - 0x160], eax
jmp 0x6e0292a5
and dword [ebp - 0x160], 0
cmp dword [ebp - 0x118], 0x10
lea edi, [ebp - 0x12c]
push 0
cmovae edi, dword [ebp - 0x12c]
push SysReAllocString
push dword [ebp - 0x164]
call fcn.6e041df9
mov esi, dword [ebx]
xor ecx, ecx
push ecx
push ecx
push dword [ebp - 0x160]
xor edx, edx
push ecx
mov ecx, dword [esi + 0x14]
xor esi, esi
inc esi
cmp word [ecx + 0x2a8], si
mov esi, dword [ebx]
setne dl
inc edx
inc eax
push edx
push edi
push str.Cstring
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push eax
push dword [ebp - 0x164]
push dword [ebx + 8]
push dword [esi + 0x10]
call fcn.6e041df9
mov edi, dword [ebp - 0x16c]
add esp, 0x48
cmp word [0x6e06f2f8], 0
je 0x6e029334
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x2fc], 0
jne 0x6e02934c
cmp word [0x6e06f2fa], 0
je 0x6e029366
mov eax, dword [ebx]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x2fc], 0
jne 0x6e029366
test edi, edi
je 0x6e02938c
mov eax, dword [edi]
xor ecx, ecx
inc ecx
push ecx
mov esi, dword [eax]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
jmp 0x6e02938c
test edi, edi
je 0x6e02938c
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x6e050848]
mov ecx, edi
call esi
mov ecx, dword [ebx]
push eax
mov ecx, dword [ecx + 0x14]
add ecx, 0x18c
call fcn.6e010a4f
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x118]
cmp eax, 0x10
jb 0x6e0294d4
mov ecx, dword [ebp - 0x12c]
inc eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x168], ecx
mov dword [ebp - 4], 5
cmp eax, 0x1000
jb 0x6e0293e1
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.6e041df9
mov eax, dword [ebp - 0x160]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x168]
push eax
push ecx
call fcn.6e041df9
pop ecx
pop ecx
jmp 0x6e0294d4
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
mov eax, 0x6e051790
xor ecx, ecx
push eax
push str.Cstring
push dword [ebx + 0x38]
inc ecx
push dword [ebx + 0x34]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push ecx
push eax
mov eax, dword [ebx]
push dword [ebx + 8]
push dword [eax + 0x10]
call fcn.6e041df9
add esp, 0x3c
jmp 0x6e0294d4
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x6e0294d9
push dword [esi + 0x14]
call fcn.6e041df9
push dword [esi + 0x1c]
mov ecx, dword [ebx + 0x2c]
push dword [esi + 0x18]
call fcn.6e041df9
mov ecx, dword [esi + 0x14]
add ecx, eax
mov dword [ebx + 0x3c], ecx
add eax, dword [esi + 0x14]
cmp dword [ebx + 0x40], eax
jae 0x6e0294d4
mov dword [ebx + 0x40], eax
jmp 0x6e0294d4
mov esi, 0x104
lea eax, [ebp - 0x114]
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0
push esi
lea eax, [ebp - 0x114]
push eax
mov eax, dword [ebx]
push dword [eax + 0x10]
call fcn.6e041df9
test eax, eax
lea esi, [ebp - 0x114]
push 0
pop eax
push 0xc
cmovne esi, eax
call fcn.6e041df9
add esp, 0x20
mov dword [ebp - 0x160], eax
test eax, eax
je 0x6e0294b7
xor ecx, ecx
mov dword [eax], vtable.CTempFile.0
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
jmp 0x6e0294b9
xor eax, eax
push esi
mov ecx, eax
mov dword [ebx + 0x2c], eax
call fcn.6e041df9
test eax, eax
jne 0x6e0294d9
mov ecx, dword [ebx + 0x2c]
push esi
call fcn.6e041df9
mov dword [ebx + 0x28], eax
xor eax, eax
inc eax
jmp 0x6e0294db
xor eax, eax
call fcn.6e049316
ret