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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x10c
mov eax, dword [esp + 0x120]
mov ebx, dword [eax]
mov esi, dword [ebx + 0x5c0]
call fcn.004122c0
mov ecx, eax
mov eax, edx
sub eax, dword [ebx + 0x544]
mov ebp, edx
mov edx, dword [ebx + 0x4d4]
mov dword [esp + 0x58], eax
mov eax, ecx
sub eax, dword [ebx + 0x540]
fild dword [esp + 0x58]
mov dword [esp + 0x5c], edx
fdiv dword [0x4efa04]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x4d0]
fild dword [esp + 0x58]
mov dword [esp + 0x58], eax
faddp st(1)
fst qword [ebx + 0x4f8]
fild qword [esp + 0x58]
fldz
fxch st(2)
fucomi st(2)
fstp st(2)
jbe 0x413d25
fdiv st(1)
fnstcw word [esp + 0x96]
movzx eax, word [esp + 0x96]
mov ah, 0xc
mov word [esp + 0x94], ax
fldcw word [esp + 0x94]
fistp qword [esp + 0x88]
fldcw word [esp + 0x96]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [ebx + 0x500], eax
mov dword [ebx + 0x504], edx
mov eax, dword [ebx + 0x4d8]
mov edx, dword [ebx + 0x4dc]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
fild qword [esp + 0x60]
fld st(1)
fdivp st(1)
fldcw word [esp + 0x94]
fistp qword [esp + 0x88]
fldcw word [esp + 0x96]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x70], eax
mov dword [ebx + 0x508], eax
xor eax, eax
cmp dword [ebx + 0x4b8], ecx
mov dword [esp + 0x74], edx
mov dword [ebx + 0x50c], edx
je 0x413c02
mov eax, esi
mov edx, 0x2aaaaaab
mov dword [ebx + 0x4b8], ecx
imul edx
mov eax, esi
sar eax, 0x1f
sub edx, eax
lea eax, [edx + edx*2]
mov edx, dword [esp + 0x58]
add eax, eax
sub esi, eax
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x64]
lea edi, [ebx + esi*8]
jle 0x413ca0
mov dword [edi + 0x560], edx
mov dword [edi + 0x564], eax
mov dword [edi + 0x590], ecx
mov dword [edi + 0x594], ebp
mov eax, dword [ebx + 0x5c0]
add eax, 1
cmp eax, 1
mov dword [ebx + 0x5c0], eax
je 0x413da0
xor esi, esi
cmp eax, 5
jle 0x413b51
mov edx, 0x2aaaaaab
mov esi, eax
imul edx
mov eax, esi
mov dword [esp + 0x58], esi
sar eax, 0x1f
mov esi, dword [esp + 0x58]
sub edx, eax
lea eax, [edx + edx*2]
add eax, eax
sub esi, eax
mov edx, dword [ebx + esi*8 + 0x594]
mov eax, dword [ebx + esi*8 + 0x590]
fstp qword [esp + 0x58]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
call fcn.004122f0
test eax, eax
mov ecx, eax
mov eax, 1
cmove ecx, eax
mov eax, dword [edi + 0x560]
sub eax, dword [ebx + esi*8 + 0x560]
mov edx, dword [edi + 0x564]
sbb edx, dword [ebx + esi*8 + 0x564]
fld qword [esp + 0x58]
mov edi, eax
cmp edx, 0
mov ebp, edx
jl 0x413cbe
jle 0x413cb3
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], ebp
fnstcw word [esp + 0x96]
fild qword [esp + 0x58]
mov dword [esp + 0x58], ecx
movzx eax, word [esp + 0x96]
fild dword [esp + 0x58]
fdiv dword [0x4efa08]
mov ah, 0xc
mov word [esp + 0x94], ax
mov eax, 1
fdivp st(1)
fldcw word [esp + 0x94]
fistp qword [ebx + 0x4e0]
fldcw word [esp + 0x96]
mov edi, dword [ebx + 0x4f0]
mov esi, edi
and esi, 0x10
jne 0x413d14
mov ecx, dword [ebx + 0x19c]
test ecx, ecx
je 0x413df0
fstp st(0)
mov eax, dword [ebx + 0x4d8]
mov edx, dword [ebx + 0x4dc]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [ebx + 0x4c8]
mov edx, dword [ebx + 0x4cc]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [ebx + 0x4d0]
mov edx, dword [ebx + 0x4d4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 0x4c0]
mov edx, dword [ebx + 0x4c4]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebx + 0x1d0]
mov dword [esp], eax
call ecx
test eax, eax
jne 0x413e3b
jmp 0x413c92
fstp st(0)
add esp, 0x10c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
jge 0x413e62
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
jmp 0x413afb
cmp eax, 0x418937
ja 0x413bb4
mov eax, edi
mov edi, 0x3e8
mov dword [esp + 8], ecx
mul edi
sar ecx, 0x1f
fstp qword [esp + 0x58]
imul esi, ebp, 0x3e8
mov dword [esp + 0xc], ecx
mov dword [esp], eax
add edx, esi
mov dword [esp + 4], edx
call fcn.0043ea60
mov edi, dword [ebx + 0x4f0]
mov dword [ebx + 0x4e0], eax
mov eax, 1
mov dword [ebx + 0x4e4], edx
fld qword [esp + 0x58]
mov esi, edi
and esi, 0x10
je 0x413c13
fstp st(0)
jmp 0x413d16
fstp st(0)
add esp, 0x10c
xor esi, esi
pop ebx
mov eax, esi
pop esi
pop edi
pop ebp
ret
fnstcw word [esp + 0x96]
movzx eax, word [esp + 0x96]
mov ah, 0xc
mov word [esp + 0x94], ax
fldcw word [esp + 0x94]
fistp qword [esp + 0x88]
fldcw word [esp + 0x96]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [ebx + 0x500], eax
mov dword [ebx + 0x504], edx
mov eax, dword [ebx + 0x4d8]
mov edx, dword [ebx + 0x4dc]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
fild qword [esp + 0x60]
ja 0x414532
fld1
jmp 0x413a82
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, ebp
mov ebp, dword [esp + 0x6c]
mov edx, edi
mov edi, dword [esp + 0x68]
cmp eax, ebp
jg 0x413dd0
jl 0x413e71
cmp edx, edi
jb 0x413e71
lea esi, [esi]
lea edi, [edi]
mov dword [ebx + 0x4e4], eax
mov dword [ebx + 0x4e0], edx
mov eax, 1
jmp 0x413c02
mov edx, dword [ebx + 0x198]
test edx, edx
je 0x413e82
fstp st(0)
fild qword [ebx + 0x4d8]
fstp qword [esp + 0x1c]
fild qword [ebx + 0x4c8]
fstp qword [esp + 0x14]
fild qword [ebx + 0x4d0]
fstp qword [esp + 0xc]
fild qword [ebx + 0x4c0]
fstp qword [esp + 4]
mov eax, dword [ebx + 0x1d0]
mov dword [esp], eax
call edx
test eax, eax
je 0x413c92
mov dword [esp], ebx
mov dword [esp + 4], str.Callback_aborted
mov dword [esp + 0x58], eax
call fcn.0041b640
mov eax, dword [esp + 0x58]
add esp, 0x10c
pop ebx
mov esi, eax
mov eax, esi
pop esi
pop edi
pop ebp
ret
cmp edx, dword [esp + 0x60]
jae 0x413afb
jmp 0x413ca6
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
mov edx, edi
mov eax, ebp
jmp 0x413dd0
test eax, eax
je 0x413c90
test edi, 0x80
jne 0x413ed8
mov eax, dword [ebx + 0x873c]
mov edx, dword [ebx + 0x8738]
mov edi, eax
or edi, edx
jne 0x4143e3
mov dword [esp + 4], str._____Total_______Received____Xferd__Average_Speed___Time____Time_____Time__Current_n_________________________________Dload__Upload___Total___Spent____Left__Speed_n
mov eax, dword [ebx + 0x128]
fstp qword [esp + 0x58]
mov dword [esp], eax
call sym.a.exe_curl_mfprintf
mov edi, dword [ebx + 0x4f0]
fld qword [esp + 0x58]
or edi, 0x80
mov dword [ebx + 0x4f0], edi
fnstcw word [esp + 0x96]
movzx eax, word [esp + 0x96]
test edi, 0x20
mov ah, 0xc
mov word [esp + 0x94], ax
fldcw word [esp + 0x94]
fistp qword [esp + 0x58]
fldcw word [esp + 0x96]
je 0x414260
mov eax, dword [ebx + 0x50c]
mov edx, dword [ebx + 0x508]
cmp eax, 0
jl 0x414260
jle 0x414257
mov ecx, dword [ebx + 0x4c8]
mov ebp, dword [ebx + 0x4cc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 0x60], ecx
call fcn.0043ea60
cmp ebp, 0
mov dword [esp + 0x90], eax
mov dword [esp + 0x68], edx
jl 0x41451d
mov ecx, dword [esp + 0x60]
jle 0x4144c4
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
mov dword [esp], ecx
mov dword [esp + 4], ebp
call fcn.0043ea60
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x4d8]
mov edx, dword [ebx + 0x4dc]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0043ea60
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
and edi, 0x40
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
jne 0x414430
mov ebp, dword [esp + 0x74]
cmp ebp, dword [esp + 0x68]
mov edi, dword [esp + 0x70]
jg 0x413ffd
jl 0x413ff2
cmp edi, dword [esp + 0x90]
jae 0x413ffd
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x68]
cmp ebp, 0
jl 0x41447e
jle 0x414475
mov edx, edi
sub edx, dword [esp + 0x58]
mov ecx, ebp
sbb ecx, dword [esp + 0x5c]
lea eax, [esp + 0xa6]
call fcn.00413290
lea eax, [esp + 0xb0]
mov edx, edi
mov ecx, ebp
call fcn.00413290
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0xba]
call fcn.00413290
mov eax, dword [ebx + 0x4f0]
test al, 0x20
je 0x414340
mov edx, dword [ebx + 0x4d8]
mov ecx, dword [ebx + 0x4dc]
mov edi, dword [ebx + 0x4c8]
mov ebp, dword [ebx + 0x4cc]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
test al, 0x40
je 0x414321
mov eax, dword [ebx + 0x4c0]
mov edx, dword [ebx + 0x4c4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, dword [ebx + 0x4d0]
mov edx, dword [ebx + 0x4d4]
add edi, dword [esp + 0x58]
adc ebp, dword [esp + 0x5c]
add eax, dword [esp + 0x68]
adc edx, dword [esp + 0x6c]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], ebp
cmp dword [esp + 0x5c], 0
mov edi, eax
mov ebp, edx
jl 0x414415
jle 0x414391
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0043ea60
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 4], ebp
call fcn.0043ea60
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov edx, dword [ebx + 0x4e4]
mov eax, dword [ebx + 0x4e0]
lea ecx, [esp + 0xf6]
call fcn.00413450
mov edx, dword [ebx + 0x50c]
mov dword [esp + 0x68], eax
lea ecx, [esp + 0xec]
mov eax, dword [ebx + 0x508]
call fcn.00413450
mov edx, dword [ebx + 0x504]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0xe2]
mov eax, dword [ebx + 0x500]
call fcn.00413450
mov edx, dword [ebx + 0x4dc]
mov dword [esp + 0x90], eax
lea ecx, [esp + 0xce]
mov eax, dword [ebx + 0x4d8]
call fcn.00413450
mov edx, dword [ebx + 0x4d4]
mov ebp, eax
mov eax, dword [ebx + 0x4d0]
lea ecx, [esp + 0xc4]
call fcn.00413450
mov edx, dword [esp + 0x5c]
mov edi, eax
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xd8]
call fcn.00413450
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x28], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x60]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0xa6]
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0xba]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x14], edi
mov dword [esp + 4], str._r_3I64d__s___3I64d__s___3I64d__s___s___s__s__s__s__s
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0xb0]
mov dword [esp + 0x18], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x24], ecx
mov eax, dword [ebx + 0x128]
mov dword [esp], eax
call sym.a.exe_curl_mfprintf
mov eax, dword [ebx + 0x128]
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x413c92
cmp edx, 0
ja 0x413f2a
and edi, 0x40
je 0x414364
mov eax, dword [ebx + 0x504]
mov edx, dword [ebx + 0x500]
cmp eax, 0
jle 0x414359
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x68], 0
mov edi, dword [ebx + 0x4c4]
mov ebp, dword [ebx + 0x4c0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.0043ea60
cmp edi, 0
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
jl 0x414503
jle 0x414490
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.0043ea60
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 0x4d0]
mov edx, dword [ebx + 0x4d4]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0043ea60
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
jmp 0x413fd9
mov eax, dword [ebx + 0x4d0]
mov edx, dword [ebx + 0x4d4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
jmp 0x41409e
mov edi, dword [ebx + 0x4d8]
mov ebp, dword [ebx + 0x4dc]
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], ebp
jmp 0x414076
jl 0x414364
cmp edx, 0
ja 0x41427e
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x60], 0
xor edx, edx
mov dword [esp + 0x64], 0
xor ecx, ecx
jmp 0x414018
cmp dword [esp + 0x58], 0x2710
ja 0x4140cb
cmp dword [esp + 0x5c], 0
jl 0x414415
jle 0x41440e
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x58]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x5c]
mov dword [esp + 8], edi
mov dword [esp], eax
add edx, ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 4], edx
call fcn.0043ea60
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp 0x414111
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
fstp qword [esp + 0x58]
mov dword [esp + 4], str._Resuming_transfer_from_byte_position__I64d_n
mov eax, dword [ebx + 0x128]
mov dword [esp], eax
call sym.a.exe_curl_mfprintf
fld qword [esp + 0x58]
jmp 0x413ea8
cmp dword [esp + 0x58], 0
ja 0x4143a8
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
jmp 0x414111
mov eax, dword [ebx + 0x504]
mov edx, dword [ebx + 0x500]
cmp eax, 0
jl 0x414450
jg 0x4142a1
cmp edx, 0
ja 0x4142a1
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
jmp 0x413fd9
cmp edi, 0
ja 0x41400c
xor edx, edx
xor ecx, ecx
jmp 0x414018
cmp ebp, 0x2710
ja 0x4142d8
cmp edi, 0
jl 0x414503
jle 0x4144fe
imul ecx, dword [ebx + 0x4d4], 0x64
mov eax, 0x64
mul dword [ebx + 0x4d0]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
add edx, ecx
jmp 0x414308
cmp ecx, 0x2710
ja 0x413f6c
cmp ebp, 0
jl 0x41451d
jle 0x414518
imul eax, dword [ebx + 0x4dc], 0x64
mov dword [esp + 0x60], eax
mov eax, 0x64
mul dword [ebx + 0x4d8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
add edx, dword [esp + 0x60]
jmp 0x413f9c
cmp ebp, 0
ja 0x4144a3
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
jmp 0x413fd9
cmp ecx, 0
ja 0x4144d7
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
jmp 0x413fb0
fld st(1)
jmp 0x413a82