Function at 0x140088790
Capabilities:
Check http status code

Disassembly:
mov dword [rsp + 0x18], r8d
push rbp
push r12
push r13
lea rbp, [rsp - 0xc0]
sub rsp, 0x1c0
mov r9d, r8d
mov r13, rdx
mov r12, rcx
test rdx, rdx
je 0x1400893fe
cmp r8d, 0x400
jb 0x1400893fe
cmp dword [rdx], 0x464d4444
jne 0x1400893fe
movzx eax, byte [rdx + 4]
test al, al
je 0x1400893fe
test al, 0xf0
jne 0x1400893fe
movups xmm0, xmmword [rdx + 0xd]
mov qword [rsp + 0x1a8], r14
mov r14d, reloc.SHELL32.dll_IsNetDrive
mov dword [rbp + 0xe8], r14d
lea r11d, [r14 - 0x3e]
movups xmmword [rcx + 0x10528], xmm0
movsd xmm1, qword [rdx + 0x1d]
movsd qword [rcx + 0x10538], xmm1
mov eax, dword [rdx + 0x25]
mov dword [rcx + 0x10540], eax
movzx eax, word [rdx + 0x29]
mov word [rcx + 0x10544], ax
mov byte [rcx + 0x10546], 0
mov dword [rcx + 0x104a0], 0x20000
mov dword [rcx + 0x10490], 0
cmp r8d, 0x49
jbe 0x1400893d4
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1b8], rsi
mov ebx, 0xef
mov qword [rsp + 0x1b0], rdi
lea esi, [r14 - 0x22]
lea r10d, [r14 - 0x2c]
lea ecx, [rbx + 1]
lea edx, [rbx + 0x10]
mov qword [rsp + 0x1a0], r15
lea r8d, [r14 - 0x32]
nop dword [rax]
mov edi, r14d
add rdi, r13
mov qword [rsp + 0x58], rdi
mov eax, dword [rdi]
cmp eax, 0x49504d53
ja 0x140088b22
je 0x1400889a9
cmp eax, 0x44504d53
je 0x1400888d4
cmp eax, 0x45444e45
je 0x1400893ae
cmp eax, 0x47534d43
je 0x1400892b3
add r14d, 4
jmp 0x140089389
add r14d, 8
mov edi, 1
xor esi, esi
mov dword [rbp + 0xe8], r14d
cmp dword [r12 + 0x104a4], edi
jb 0x140089390
nop dword [rax]
nop dword [rax + rax]
lea ecx, [r14 + 4]
lea esi, [rsi + 1]
cmp ecx, r9d
jae 0x140088995
mov ebx, dword [r14 + r13]
mov eax, r9d
mov r14d, ecx
sub eax, ecx
cmp ebx, eax
cmova ebx, eax
test ebx, ebx
je 0x140088982
cmp edi, dword [r12 + 0x104a4]
ja 0x140088982
mov eax, edi
lea rcx, [rax + rax*8]
lea rdx, [r12 + rcx*8]
movzx ecx, word [rdx + 0x8e2a]
movzx eax, cl
and al, 1
neg al
sbb r8d, r8d
and r8d, 5
test byte [rbp + rsi - 0x50], 4
je 0x140088964
mov r8d, ecx
and r8d, 1
shl r8d, 2
or r8d, 0x13
lea r9, [r14 + r13]
add rdx, 0x8e00
mov rcx, r12
mov dword [rsp + 0x20], ebx
call fcn.140073450
mov r9d, dword [rbp + 0xf0]
inc edi
add r14d, ebx
cmp edi, dword [r12 + 0x104a4]
jbe 0x140088900
mov r10d, SafeArrayPutElement
mov ebx, 0xef
lea r11d, [r10 - 0x12]
jmp 0x140089389
mov eax, r9d
sub eax, r14d
cmp dword [rdi + 4], eax
ja 0x140088b19
movzx eax, byte [rdi + 8]
mov r15d, 1
lea esi, [r14 + 9]
cmp eax, ecx
cmovae eax, ebx
mov dword [r12 + 0x104a4], eax
cmp eax, r15d
jb 0x140088b19
nop dword [rax]
movzx r8d, byte [rsi + r13]
mov edx, dword [rdi + 4]
mov ecx, dword [rbp + 0xe8]
mov r9d, esi
inc esi
add ecx, 8
add esi, r8d
mov r14d, r15d
add edx, ecx
mov eax, esi
mov byte [rbp + r14 - 0x50], 0
add rax, 0x10
cmp rax, rdx
ja 0x140088b00
test r8d, r8d
je 0x140088a60
cmp r8d, 0x20
mov eax, reloc.ODBC32.dll_SQLFreeHandle
mov ebx, r14d
cmovb eax, r8d
shl rbx, 5
lea rdx, [r13 + 1]
lea rcx, [r12 + 0x10528]
add rdx, r9
mov r8d, eax
add rcx, rbx
mov edi, eax
call sub.msvcrt.dll_memcpy
lea rax, [rbx + rdi]
mov rdi, qword [rsp + 0x58]
mov byte [rax + r12 + 0x10528], 0
mov r10d, SafeArrayPutElement
lea rdx, [r14 + 0x238]
mov r8d, esi
add r8, r13
lea rdx, [r14 + rdx*8]
mov eax, dword [r8]
lea rdx, [r12 + rdx*8]
mov dword [rdx], eax
mov eax, dword [r8 + 4]
mov dword [rdx + 4], eax
mov eax, dword [r8 + 8]
mov dword [rdx + 8], eax
movzx eax, word [r8 + 0xc]
mov dword [rdx + 0x20], eax
mov eax, IsNetDrive
mov word [rdx + 0x28], ax
movzx eax, byte [r8 + 0xe]
test al, al
je 0x140088aa9
movzx eax, al
inc eax
jmp 0x140088aae
mov eax, 0x100
mov word [rdx + 0x26], ax
movzx eax, byte [r8 + 0xf]
shr al, 1
and al, 1
movzx ecx, al
mov word [rdx + 0x2a], cx
test cl, 1
je 0x140088ac9
shr dword [rdx], 1
test byte [r8 + 0xf], 1
je 0x140088ad5
or word [rdx + 0x2a], 2
movzx eax, byte [r8 + 0xf]
cmp byte [r13 + 4], 8
mov byte [rbp + r14 - 0x50], al
mov eax, reloc.ODBC32.dll_SQLFetchScroll
cmovb eax, r10d
inc r15d
add esi, eax
cmp r15d, dword [r12 + 0x104a4]
jbe 0x1400889e0
mov r14d, dword [rbp + 0xe8]
mov r9d, dword [rbp + 0xf0]
mov ebx, 0xef
mov r11d, 4
add r14d, 8
jmp 0x140089385
cmp eax, 0x4f464e49
je 0x1400892ac
cmp eax, 0x54544150
je 0x140088bc3
cmp eax, 0x55514553
je 0x140088b48
add r14d, 4
jmp 0x140089389
mov r8d, dword [rdi + 4]
cmp r8d, r9d
jae 0x1400893ae
lea eax, [r14 + 0xc]
add eax, r8d
cmp eax, r9d
ja 0x1400893ae
movzx eax, word [rdi + 8]
shr r8d, 1
cmp r8d, edx
cmovae r8d, edx
cmp eax, r8d
jae 0x140088b80
mov dword [r12 + 0x104d8], eax
test r8d, r8d
je 0x140088bba
lea rcx, [r12 + 0xeb60]
lea rdx, [rdi + 0xc]
mov r9d, r8d
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx]
lea rcx, [rcx + 1]
lea rdx, [rdx + 2]
mov byte [rcx - 1], al
dec r9
jne 0x140088ba0
mov r9d, dword [rbp + 0xf0]
add r14d, 8
jmp 0x140089385
cmp dword [r12 + 0x10490], 0
jne 0x140089390
mov eax, dword [rdi + 4]
lea r15d, [r14 + 0xb]
cmp eax, r9d
jae 0x1400893ae
add eax, 8
add eax, r14d
cmp eax, r9d
ja 0x1400893ae
movzx edx, word [rdi + 8]
cmp edx, ecx
cmova edx, ecx
movzx ecx, byte [rdi + 0xa]
mov dword [r12 + 0x10490], ecx
movzx eax, byte [rdi + 0xb]
mov dword [rsp + 0x70], edx
cmp ecx, eax
cmovb ecx, eax
mov dword [r12 + 0x10490], ecx
cmp ecx, 0x20
jbe 0x140088c2a
mov dword [r12 + 0x10490], esi
jmp 0x140088c3b
mov eax, ecx
cmp ecx, 4
cmovb eax, r11d
mov dword [r12 + 0x10490], eax
mov dword [rsp + 0x50], 0
test edx, edx
je 0x1400892a3
xor r10d, r10d
mov qword [rsp + 0x68], r10
nop dword [rax]
nop word [rax + rax]
mov ebx, r15d
add rbx, r13
movzx eax, byte [rbx]
cmp eax, 0x20
cmova eax, esi
movzx esi, word [rbx + 2]
mov dword [rbp + 0xf8], eax
cmp esi, 0x100
jbe 0x140088c88
mov esi, 0x100
jmp 0x140088c8f
cmp esi, 0x10
cmovb esi, r8d
mov eax, dword [rbx + 4]
add r15d, 8
mov dword [rsp + 0x60], esi
cmp eax, r9d
jae 0x140089288
add eax, 4
add eax, r15d
cmp eax, r9d
jae 0x140089288
mov word [r12 + r10*2 + 0xe980], si
mov edx, dword [r12 + 0x10490]
movzx ecx, si
call fcn.1400720b0
mov rdx, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400893ae
mov r10, qword [rsp + 0x68]
xor r8d, r8d
mov r11d, r15d
mov qword [r12 + r10*8 + 0xe200], rax
movzx eax, byte [rbx + 1]
add r15d, dword [rbx + 4]
movzx ecx, al
mov edi, 1
mov dword [rsp + 0x44], 0x7d
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x4c], r8d
and cl, 0xf0
je 0x140088d1f
movzx r9d, al
shr r9d, 4
jmp 0x140088d25
mov r9d, 8
xor ebx, ebx
test cl, cl
mov dword [rsp + 0x3c], r9d
setne bl
xor eax, eax
xor r14d, r14d
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
mov dword [rsp + 0x48], r14d
mov dword [rsp + 0x38], ebx
test esi, esi
je 0x140089253
nop word [rax + rax]
mov eax, dword [r12 + 0x10490]
imul eax, r14d
lea rcx, [rax + rax*2]
lea r10, [rdx + rcx*2]
mov qword [rbp - 0x80], r10
test r8d, r8d
jne 0x140088e10
mov eax, r11d
xor dl, dl
inc r11d
movzx ecx, byte [rax + r13]
test cl, cl
jns 0x140088da7
cmp r11d, r15d
jae 0x140088da7
movzx r8d, byte [r11 + r13]
mov eax, r11d
inc r11d
mov dword [rsp + 0x4c], r8d
and cl, 0x7f
je 0x140088dbc
cmp r11d, r15d
jae 0x140088dbc
movzx edx, byte [r11 + r13]
mov eax, r11d
inc r11d
movzx ecx, cl
dec ecx
je 0x140088df8
dec ecx
je 0x140088de0
dec ecx
jne 0x140088e18
movzx r9d, dl
mov ebx, edi
shr r9d, 4
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x3c], r9d
jmp 0x140088e18
mov eax, 1
movzx edx, dl
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], edx
mov ebx, eax
mov dword [rsp + 0x38], eax
jmp 0x140088e18
xor eax, eax
movzx edx, dl
mov ebx, 1
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x38], ebx
jmp 0x140088e18
dec r8d
mov dword [rsp + 0x4c], r8d
mov r8d, dword [rbp + 0xf8]
xor esi, esi
test r8d, r8d
je 0x140089167
lea rdi, [rbp - 0x78]
mov r14, r10
movzx eax, byte [rdi]
test al, al
jne 0x14008913f
mov eax, r11d
xor r9b, r9b
xor bl, bl
movzx r10d, byte [rax + r13]
inc r11d
mov dword [rsp + 0x30], 0
mov word [rsp + 0x34], 0
test r10b, r10b
jns 0x140088e6d
movzx ecx, byte [r11 + r13]
mov eax, r11d
inc r11d
mov byte [rdi], cl
test r10b, 0x40
je 0x140088e82
movzx ecx, byte [r11 + r13]
mov eax, r11d
inc r11d
mov byte [rsp + 0x31], cl
test r10b, 0x20
je 0x140088ebd
movzx r9d, byte [r11 + r13]
mov eax, r11d
inc r11d
mov byte [rsp + 0x30], r9b
test r9b, r9b
je 0x140088ebd
cmp r9b, 0xfe
jae 0x140088eac
and r9b, 0x7f
mov byte [rsp + 0x30], r9b
lea eax, [r9 - 1]
cmp al, 0x7e
ja 0x140088ebd
add r9b, 0x18
mov byte [rsp + 0x30], r9b
test r10b, 0x10
je 0x140088ede
movzx ecx, byte [r11 + r13]
mov bl, 1
mov eax, r11d
add ecx, 3
mov byte [rsp + 0x32], bl
sar ecx, 2
inc r11d
mov byte [rsp + 0x34], cl
test r10b, 8
je 0x140088f66
movzx edx, byte [r11 + r13]
inc r11d
movzx r8d, byte [r11 + r13]
mov eax, r11d
inc r11d
dec edx
je 0x140088f48
sub edx, 3
je 0x140088f2e
dec edx
je 0x140088f18
dec edx
jne 0x140088f5f
mov byte [rsp + 0x33], 0xa
mov byte [rsp + 0x35], r8b
jmp 0x140088f5f
test r8b, 0xe0
je 0x140088f5f
shr r8b, 5
mov byte [rsp + 0x33], SafeArrayGetLBound
mov byte [rsp + 0x35], r8b
jmp 0x140088f5f
test r8b, 0xe0
je 0x140088f5f
shr r8b, 5
mov byte [rsp + 0x33], reloc.ODBC32.dll_SQLRowCount
or r8b, 0xd0
mov byte [rsp + 0x35], r8b
jmp 0x140088f5f
movzx eax, r9b
test r9b, r9b
mov ecx, 0xfe
cmove eax, ecx
movzx r9d, al
mov byte [rsp + 0x30], al
mov r8d, dword [rbp + 0xf8]
test r10b, 4
je case.0x140088fa5.7
movzx eax, byte [r11 + r13]
inc r11d
movzx edx, byte [r11 + r13]
dec eax
inc r11d
cmp eax, 0xb
ja case.0x140088fa5.7
cdqe
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x89428]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
test dl, 0xf0
je case.0x140088fa5.7
shr dl, 4
mov byte [rsp + 0x33], reloc.ODBC32.dll_SQLRowCount
or dl, 0x20
mov byte [rsp + 0x35], dl
jmp case.0x140088fa5.7
test dl, 0xe0
je case.0x140088fa5.7
shr dl, 5
mov byte [rsp + 0x33], reloc.ODBC32.dll_SQLRowCount
or dl, 0xd0
mov byte [rsp + 0x35], dl
jmp case.0x140088fa5.7
test dl, dl
je case.0x140088fa5.7
mov byte [rsp + 0x33], 1
mov byte [rsp + 0x35], dl
jmp case.0x140088fa5.7
mov byte [rsp + 0x33], 2
movzx eax, dl
cmp dl, 0xe0
mov ecx, 0xdf
cmovae eax, ecx
mov byte [rsp + 0x35], al
jmp case.0x140088fa5.7
mov byte [rsp + 0x33], 3
jmp 0x140088ff2
mov byte [rsp + 0x33], 4
mov byte [rsp + 0x35], dl
jmp case.0x140088fa5.7
mov byte [rsp + 0x33], 5
mov byte [rsp + 0x35], dl
jmp case.0x140088fa5.7
test dl, 0xe0
je 0x140089039
shr dl, 5
mov byte [rsp + 0x33], reloc.ODBC32.dll_SQLRowCount
or dl, 0xc0
mov byte [rsp + 0x35], dl
jmp case.0x140088fa5.7
movzx eax, r9b
test r9b, r9b
mov ecx, 0xfe
cmove eax, ecx
mov byte [rsp + 0x30], al
test r10b, 2
je 0x14008911d
movzx eax, byte [r11 + r13]
inc r11d
movzx edx, byte [r11 + r13]
inc r11d
dec eax
je 0x1400890f6
dec eax
je 0x1400890cf
sub eax, 5
je 0x1400890ac
dec eax
je 0x1400890a5
dec eax
jne 0x14008911d
movzx ecx, dl
mov byte [rsp + 0x33], SQLFreeHandle
add ecx, 3
sar ecx, 2
movzx eax, cl
cmp cl, 0xf
mov ecx, SafeArrayGetLBound
cmova eax, ecx
mov byte [rsp + 0x35], al
jmp 0x14008911d
mov byte [rsp + 0x33], SQLFreeHandle
jmp 0x140089100
test bl, bl
jne 0x1400890c4
movzx eax, dl
mov byte [rsp + 0x32], 2
add eax, 3
sar eax, 2
mov byte [rsp + 0x34], al
jmp 0x14008911d
mov byte [rsp + 0x33], 9
mov byte [rsp + 0x35], dl
jmp 0x14008911d
cmp dl, 0xff
je 0x14008911d
movzx ecx, dl
mov byte [rsp + 0x33], reloc.WS2_32.dll_inet_addr
add ecx, 3
sar ecx, 2
movzx eax, cl
cmp cl, 0xf
mov ecx, SafeArrayGetLBound
cmova eax, ecx
mov byte [rsp + 0x35], al
jmp 0x14008911d
cmp dl, 0xff
je 0x14008911d
mov byte [rsp + 0x33], reloc.WS2_32.dll_inet_addr
movzx eax, dl
add eax, 3
sar eax, 2
cmp al, 0xf
movzx ecx, al
mov eax, SafeArrayGetLBound
cmova ecx, eax
shl cl, 4
mov byte [rsp + 0x35], cl
cmp esi, dword [r12 + 0x10490]
jae 0x140089138
mov eax, dword [rsp + 0x30]
mov dword [r14], eax
movzx eax, word [rsp + 0x34]
mov word [r14 + 4], ax
cmp r11d, r15d
ja 0x140089155
jmp 0x140089143
dec al
mov byte [rdi], al
inc esi
add r14, 6
inc rdi
cmp esi, r8d
jb 0x140088e31
mov r10, qword [rbp - 0x80]
mov ebx, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x3c]
mov r14d, dword [rsp + 0x48]
mov edi, dword [rsp + 0x40]
test ebx, ebx
je 0x140089227
xor ebx, ebx
mov dword [rsp + 0x38], ebx
test edi, edi
je 0x14008918a
test r9d, r9d
je 0x14008918a
imul r9d, dword [rsp + 0x44]
jmp 0x140089194
mov eax, dword [rsp + 0x44]
inc eax
imul r9d, eax, 0xf
mov r8d, reloc.ODBC32.dll_SQLFetchScroll
imul ecx, r9d, 0x1e
nop
mov eax, 0xaaaaaaab
mul ecx
shr edx, 4
cmp edx, 0xc8
jbe 0x1400891cc
cmp r8d, 6
jae 0x1400891c0
cmp edx, 0x100
jb 0x1400891cc
dec r8d
sub ecx, r9d
cmp r8d, 1
ja 0x1400891a0
xor r9d, r9d
cmp dword [r12 + 0x10490], ebx
jbe 0x140089227
mov r14d, 0xdf
nop
lea rcx, [r9 + r9*2]
cmp byte [r10 + rcx*2 + 3], bl
jne 0x140089215
test r8d, r8d
je 0x140089200
mov byte [r10 + rcx*2 + 5], r8b
mov byte [r10 + rcx*2 + 3], reloc.WS2_32.dll_recv
xor r8d, r8d
jmp 0x140089215
lea eax, [rdx - 0x20]
cmp eax, r14d
ja 0x140089222
mov byte [r10 + rcx*2 + 5], dl
mov byte [r10 + rcx*2 + 3], reloc.OLEAUT32.dll_SafeArrayGetElemsize
xor edx, edx
inc r9d
cmp r9d, dword [r12 + 0x10490]
jb 0x1400891e0
mov r14d, dword [rsp + 0x48]
cmp r11d, r15d
jae 0x14008924e
mov r9d, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x4c]
mov rdx, qword [rsp + 0x78]
inc r14d
mov dword [rsp + 0x48], r14d
cmp r14d, dword [rsp + 0x60]
jb 0x140088d60
mov r10, qword [rsp + 0x68]
mov r9d, dword [rbp + 0xf0]
lea eax, [r15 + 8]
cmp eax, r9d
jae 0x140089288
mov ecx, dword [rsp + 0x50]
inc r10
mov esi, 0x20
inc ecx
mov qword [rsp + 0x68], r10
lea r8d, [rsi - 0x10]
mov dword [rsp + 0x50], ecx
cmp ecx, dword [rsp + 0x70]
jb 0x140088c60
mov rdi, qword [rsp + 0x58]
mov r14d, dword [rbp + 0xe8]
mov r11d, 4
lea r10d, [r11 + 0x12]
mov ebx, 0xef
add r14d, 8
jmp 0x140089385
cmp eax, 0x47534d43
jne 0x1400892b6
inc r14d
mov ecx, dword [rdi + 4]
cmp ecx, r9d
ja 0x1400893ae
lea eax, [r14 + 8]
add eax, ecx
cmp eax, r9d
ja 0x1400893ae
cmp ecx, 8
jb 0x140089381
cmp qword [r12 + 0x10518], 0
jne 0x140089381
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
mov qword [r12 + 0x10518], rax
test rax, rax
je 0x140089370
mov eax, dword [rdi + 4]
xor r8d, r8d
dec eax
je 0x14008935f
lea r10d, [r14 + 8]
nop dword [rax]
lea eax, [r10 + r8]
movzx r9d, byte [rax + r13]
mov eax, 0xcccccccd
mul r8d
shr edx, 5
mov eax, r8d
lea ecx, [rdx + rdx*4]
shl ecx, 3
sub eax, ecx
cmp eax, 0x27
mov rax, qword [r12 + 0x10518]
jne 0x140089343
mov byte [r8 + rax], reloc.ODBC32.dll_SQLFetch
jmp 0x140089352
movzx edx, r9b
cmp r9b, 0x20
cmovl edx, esi
mov byte [r8 + rax], dl
mov eax, dword [rdi + 4]
inc r8d
dec eax
cmp r8d, eax
jb 0x140089310
mov ecx, dword [rdi + 4]
mov rax, qword [r12 + 0x10518]
dec ecx
mov byte [rcx + rax], 0
mov r9d, dword [rbp + 0xf0]
mov r11d, 4
lea r10d, [r11 + 0x12]
add r14d, 7
add r14d, dword [rdi + 4]
mov dword [rbp + 0xe8], r14d
lea eax, [r14 + 7]
mov esi, 0x20
mov ecx, 0xf0
lea edx, [rcx + 0xf]
lea r8d, [rsi - 0x10]
cmp eax, r9d
jb 0x140088890
mov r15, qword [rsp + 0x1a0]
mov rdi, qword [rsp + 0x1b0]
mov rsi, qword [rsp + 0x1b8]
mov rbx, qword [rsp + 0x1e0]
mov r11d, 4
cmp dword [r12 + 0x10490], 0
mov r14, qword [rsp + 0x1a8]
jne 0x140089415
cmp dword [r12 + 0x104a4], 0
jne 0x14008940d
mov dword [r12 + 0x104a0], 0
xor eax, eax
add rsp, 0x1c0
pop r13
pop r12
pop rbp
ret
mov dword [r12 + 0x10490], r11d
mov eax, 1
add rsp, 0x1c0
pop r13
pop r12
pop rbp
ret