Function at 0x14009bf40
Capabilities:
Check http status code
Receive data
Receive data on socket

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x130
mov qword [rsp + 0xa8], 0xfffffffffffffffe
mov rax, qword [0x140121ef0]
xor rax, rsp
mov qword [rsp + 0x120], rax
mov rbx, r8
mov edi, ecx
mov dword [rsp + 0x50], edx
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x60], r9d
mov dword [rsp + 0x40], 1
mov rax, qword [0x140122018]
mov r13, qword [rax + 0x1a8]
mov r14, qword [r8 + 0x20]
mov qword [rsp + 0x58], r14
mov r15, qword [r14 + 0x108]
test ecx, ecx
je 0x14009c017
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
mov dword [rsp + 0x20], edi
mov r9d, dword [rbx + 0x28]
lea rdx, str.Thread_0x_.4X__CSocketAsync::ReadOrderCompletionRoutine_Error__d___0x_X
mov rcx, r13
call fcn.14004c390
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x14009bfe8
call qword [sym.imp.WS2_32.dll_closesocket]
or rdi, 0xffffffffffffffff
mov qword [r15 + 8], rdi
jmp 0x14009bfec
or rdi, 0xffffffffffffffff
mov dword [rbx + 0x28], edi
mov rcx, qword [rbx + 0xb30]
test rcx, rcx
je 0x14009c00a
call qword [sym.imp.MSVCR110.dll_free]
xor esi, esi
mov qword [rbx + Ordinal_2866], rsi
mov rcx, r14
call fcn.140056600
jmp 0x14009ca28
add dword [r8 + 0xb58], edx
mov ecx, dword [r8 + 0xb58]
lea r12, [r8 + 0xb48]
mov eax, dword [r12]
test eax, eax
je 0x14009c0ac
test edx, edx
jne 0x14009c09d
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
xor esi, esi
mov dword [rsp + 0x20], esi
mov r9d, dword [rbx + 0x28]
lea rdx, str.Thread_0x_.4X__CSocketAsync::ReadOrderCompletionRoutine_Error2__d___0x_X
mov rcx, r13
call fcn.14004c390
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x14009c074
call qword [sym.imp.WS2_32.dll_closesocket]
or rdi, 0xffffffffffffffff
mov qword [r15 + 8], rdi
jmp 0x14009c078
or rdi, 0xffffffffffffffff
mov dword [rbx + 0x28], edi
mov rcx, qword [rbx + 0xb30]
test rcx, rcx
je 0x14009ca28
call qword [sym.imp.MSVCR110.dll_free]
mov qword [rbx + Ordinal_2866], rsi
jmp 0x14009ca28
sub eax, edx
mov dword [r12], eax
mov eax, edx
add qword [r8 + 0xb50], rax
mov r9d, edx
cmp dword [r8 + 0xb28], ecx
je 0x14009c0e2
dec dword [r8 + 0x28]
mov eax, dword [r8 + 0xb28]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov r8d, dword [r8 + 0x28]
lea rdx, str.CSocketAsync::ReadOrderCompletionRoutine___d_:_read__d__sum__d__expect__d
mov rcx, r13
call fcn.14004c390
xor esi, esi
jmp 0x14009c101
mov dword [rsp + 0x20], ecx
mov r8d, dword [r8 + 0x28]
lea rdx, str.CSocketAsync::ReadOrderCompletionRoutine:_next_position__d__read__d__sum__d
mov rcx, r13
call fcn.14004c390
xor esi, esi
mov dword [rbx + 0xb58], esi
mov ecx, dword [rbx + 0x28]
dec ecx
je 0x14009c938
dec ecx
je 0x14009c7c2
dec ecx
jne 0x14009ca25
cmp dword [rsp + 0x50], ecx
jne 0x14009c143
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x14009c074
call qword [sym.imp.WS2_32.dll_closesocket]
or rdi, 0xffffffffffffffff
mov qword [r15 + 8], rdi
jmp 0x14009c078
lea rcx, [rbx + 0x90]
call fcn.1400b63e0
lea rcx, [rbx + 0x30]
call fcn.1400acc60
mov rcx, rax
call qword [sym.imp.MSVCR110.dll_free]
mov dword [rbx + 0x28], esi
mov byte [rbx + 0x1ba4], 1
lea rdi, [0x14009d510]
mov qword [rsp + 0x48], rdi
lea rcx, [rbx + 0x2d0]
lea rdx, [rsp + 0x48]
call fcn.14005a080
mov r8, rdi
lea rdx, str.Push_next_function_:_WriteResult__0x_.8X_
mov rcx, r13
call fcn.14004c390
mov r8d, dword [rbx + 0xb28]
lea rdx, [rbx + 0xb30]
lea rcx, [rbx + 0x30]
call fcn.1400acc00
mov dword [rbx + 0xb28], esi
mov qword [rbx + Ordinal_2866], rsi
mov r8d, dword [rbx + 0x2c]
lea rdx, [rsp + 0xb0]
mov rcx, r13
call fcn.14003ec70
mov rcx, qword [rax]
mov qword [rsp + 0x48], rcx
mov r15, qword [rax + 8]
mov qword [rsp + 0x70], r15
mov rdi, qword [rax + 0x10]
mov r12, qword [rax + 0x18]
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r15
mov r9d, dword [rbx + 0x2c]
mov r8, rdi
lea rdx, str.Next_Order_:__s___i____function_0x_.8X___Thread_0x_.4X_
mov rcx, r13
call fcn.14004c390
mov edx, dword [rbx + 0x2c]
mov rcx, r14
call fcn.140097ea0
test r15, r15
jne 0x14009c230
mov edx, dword [rbx + 0x2c]
mov rcx, r14
call fcn.140032e60
jmp 0x14009c9fb
cmp byte [r14 + 0xdc], 0
jne 0x14009c269
mov eax, dword [rbx + 0x2c]
cmp eax, 0xc8
je 0x14009c269
cmp eax, 0x11
je 0x14009c269
cmp eax, 0x25b
je 0x14009c269
cmp eax, 0x25d
je 0x14009c269
cmp eax, 0x13
je 0x14009c269
mov rcx, r14
call fcn.140032830
jmp 0x14009c9fb
cmp qword [r14 + 0x28], 0
je 0x14009c2b1
lea rdi, [r14 + 0x18]
cmp qword [rdi + 0x18], 8
jb 0x14009c280
mov r15, qword [rdi]
jmp 0x14009c283
mov r15, rdi
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov r8d, eax
mov rdx, r15
mov rcx, r13
call fcn.140032a00
mov qword [rdi + 0x10], rsi
cmp qword [rdi + 0x18], 8
jb 0x14009c2a5
mov rdi, qword [rdi]
mov word [rdi], si
mov rcx, r14
call fcn.140032fd0
nop
mov dword [rsp + 0x40], 1
cmp dword [rsp + 0x48], 0
je 0x14009c55a
cmp byte [r14 + 0x1b8], 0
je 0x14009c55a
lea rdx, [rsp + 0x88]
lea rcx, [r14 + 0x188]
call fcn.140094560
mov r15, qword [rax]
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14009c2fc
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rax, qword [r15]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov edx, dword [rsp + 0x48]
mov rcx, r15
call qword [rax + gethostname]
mov r12d, eax
test eax, eax
jns 0x14009c430
mov dword [rsp + 0x40], esi
lea r15, [0x1400d7400]
mov rcx, r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x90]
lea rcx, [r14 + 0x188]
call fcn.140077370
nop
mov rcx, qword [rax]
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
mov edx, r12d
call qword [rax + gethostname]
nop
mov rcx, qword [rsp + 0x90]
test rcx, rcx
je 0x14009c36f
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov edx, 1
mov rcx, qword [0x140122018]
add rcx, 0xc0
mov r8, qword [rsp + 0x48]
call fcn.14006a5c0
lea r12, vtable.CResult.0
mov qword [rsp + 0xd0], r12
mov dword [rsp + 0xd8], send
mov dword [rsp + 0xdc], 0x10004
mov rax, qword [rsp + 0x48]
test rax, rax
cmovne r15, rax
mov qword [rsp + 0xf8], 7
mov qword [rsp + 0xf0], rsi
mov word [rsp + 0xe0], si
cmp word [r15], 0
jne 0x14009c3e5
mov rdi, rsi
jmp 0x14009c3fb
or rdi, 0xffffffffffffffff
nop dword [rax]
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14009c3f0
mov r8, rdi
mov rdx, r15
lea rcx, [rsp + 0xe0]
call fcn.140003310
nop
lea rdx, [rsp + 0xd0]
mov rcx, r14
call fcn.140032c40
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
jmp 0x14009c531
cmp dword [rsp + 0x40], 0
jne 0x14009c630
lea r15, [0x1400d7400]
mov rcx, r15
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x78]
lea rcx, [r14 + 0x188]
call fcn.140077370
nop
mov rcx, qword [rax]
mov rax, qword [rcx]
lea r8, [rsp + 0x48]
mov edx, 0x80042069
call qword [rax + gethostname]
nop
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x14009c486
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
lea r12, vtable.CResult.0
mov qword [rsp + 0xd0], r12
mov dword [rsp + 0xd8], send
mov dword [rsp + 0xdc], 0x10004
mov rax, qword [rsp + 0x48]
test rax, rax
cmovne r15, rax
mov qword [rsp + 0xf8], 7
mov qword [rsp + 0xf0], rsi
mov word [rsp + 0xe0], si
cmp word [r15], 0
jne 0x14009c4df
mov rdi, rsi
jmp 0x14009c4ee
or rdi, 0xffffffffffffffff
inc rdi
cmp word [r15 + rdi*2], 0
jne 0x14009c4e3
mov r8, rdi
mov rdx, r15
lea rcx, [rsp + 0xe0]
call fcn.140003310
nop
lea rdx, [rsp + 0xd0]
mov rcx, r14
call fcn.140032c40
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov r8d, dword [rbx + 0x2c]
lea rdx, str.The_order__i_is_not_allowed__Logon_
mov rcx, r13
call fcn.14004c390
nop
mov qword [rsp + 0xd0], r12
cmp qword [rsp + 0xf8], 8
jb 0x14009c625
mov rcx, qword [rsp + 0xe0]
call sub.mfc110u.dll_Ordinal_1482
jmp 0x14009c625
test r12d, r12d
je 0x14009c630
lea r8, [r14 + 0x38]
cmp qword [r8 + 0x18], 8
jb 0x14009c571
mov r8, qword [r8]
mov edx, r12d
mov rcx, r13
call fcn.140042270
test eax, eax
jne 0x14009c625
mov dword [rsp + 0x40], esi
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc110u.dll_Ordinal_296]
nop
lea r8d, [r12 + 0x7d0]
mov qword [rsp + 0x20], rsi
movzx r9d, word [r14 + 0x170]
lea rdx, [rsp + 0x48]
mov rcx, r13
call fcn.14003ee20
lea rax, [r13 + 0xcd8]
mov qword [rsp + 0xd0], rax
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc110u.dll_Ordinal_1632]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rsi
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov edx, send
mov r9d, 0x3ef
mov r8d, 0x10004
mov rcx, r14
call fcn.140032c60
mov r8d, dword [rbx + 0x2c]
lea rdx, str.The_remote_order__i_is_not_allowed
mov rcx, r13
call fcn.14004c390
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc110u.dll_Ordinal_1027]
cmp dword [rsp + 0x40], 0
je 0x14009c788
mov qword [rsp + 0xe8], 7
mov qword [rsp + 0xe0], rsi
mov word [rsp + 0xd0], si
lea rdx, [rsp + 0xd0]
lea rcx, [rbx + 0x30]
call fcn.1400ac2d0
cmp qword [rsp + 0xe0], 0x1389
jae 0x14009c696
lea r8, [rsp + 0xd0]
cmp qword [rsp + 0xe8], 8
cmovae r8, qword [rsp + 0xd0]
lea rdx, str.Order_Input:__s
mov rcx, r13
call fcn.14004c390
jmp 0x14009c706
mov r9d, 0x1388
xor r8d, r8d
lea rdx, [rsp + 0x100]
lea rcx, [rsp + 0xd0]
call fcn.140021010
nop
cmp qword [rax + 0x18], 8
jb 0x14009c6bf
mov rax, qword [rax]
mov r8, rax
lea rdx, str.Order_Input:__s
mov rcx, r13
call fcn.14004c390
nop
cmp qword [rsp + reloc.mfc110u.dll_Ordinal_280], 8
jb 0x14009c6ea
mov rcx, qword [rsp + 0x100]
call sub.mfc110u.dll_Ordinal_1482
mov qword [rsp + reloc.mfc110u.dll_Ordinal_280], 7
mov qword [rsp + 0x110], rsi
mov word [rsp + 0x100], si
lea rdx, [rsp + 0xd0]
lea rcx, [rbx + 0x90]
call fcn.1400b5200
test eax, eax
je 0x14009c759
mov ecx, Ordinal_290
call sub.mfc110u.dll_Ordinal_1480
mov qword [rsp + 0x70], rax
test rax, rax
je 0x14009c73d
mov rcx, rax
call fcn.14004f370
mov rsi, rax
mov qword [rsp + 0x80], rsi
lea rdx, [0x14011cc08]
lea rcx, [rsp + 0x80]
call fcn.1400bb178
mov rcx, r14
call qword [rsp + reloc.WS2_32.dll_WSASetLastError]
nop
cmp qword [rsp + 0xe8], 8
jb 0x14009c77a
mov rcx, qword [rsp + 0xd0]
call sub.mfc110u.dll_Ordinal_1482
nop
jmp 0x14009c788
jmp 0x14009c796
cmp dword [rbx + 0x28], 0
jne 0x14009ca28
lea rcx, [rbx + 0x30]
call fcn.1400acc60
mov rcx, rax
call qword [sym.imp.MSVCR110.dll_free]
mov dword [rbx + 0x28], esi
mov rcx, r14
call fcn.140056600
jmp 0x14009ca28
cmp dword [rsp + 0x50], 0
jne 0x14009c7ea
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x14009c074
call qword [sym.imp.WS2_32.dll_closesocket]
or rdi, 0xffffffffffffffff
mov qword [r15 + 8], rdi
jmp 0x14009c078
cmp dword [rbx + 0xb58], 0
jne 0x14009c8a9
mov rax, qword [rbx + 0xb30]
mov ecx, dword [rax]
mov dword [rbx + 0x2c], ecx
mov rcx, qword [rbx + 0xb30]
mov r13d, dword [rcx + 4]
test rcx, rcx
je 0x14009c820
call qword [sym.imp.MSVCR110.dll_free]
mov qword [rbx + Ordinal_2866], rsi
cmp dword [rbx + 0x2c], 0x3e8
ja 0x14009c832
cmp r13d, 0x3b9aca00
jbe 0x14009c850
mov dword [rsp + 0x40], esi
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x14009c850
call qword [sym.imp.WS2_32.dll_closesocket]
or rdi, 0xffffffffffffffff
mov qword [r15 + 8], rdi
jmp 0x14009c854
or rdi, 0xffffffffffffffff
mov rcx, r13
call qword [sym.imp.MSVCR110.dll_malloc]
mov qword [rbx + Ordinal_2866], rax
test rax, rax
jne 0x14009c881
mov dword [rsp + 0x40], esi
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x14009c881
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r15 + 8], rdi
mov eax, esi
cmp qword [rbx + 0xb30], 0
cmovne eax, r13d
mov dword [rbx + 0xb28], eax
mov dword [r12], eax
mov rax, qword [rbx + 0xb30]
mov qword [rbx + 0xb50], rax
jmp 0x14009c8ad
or rdi, 0xffffffffffffffff
lea rax, [fcn.14009bf40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8d, 1
mov rdx, r12
mov rcx, qword [r15 + 8]
call qword [sym.imp.WS2_32.dll_WSARecv]
cmp eax, 0xffffffff
jne 0x14009c928
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x14009c928
mov rcx, qword [rbx + 0xb30]
test rcx, rcx
je 0x14009c90b
call qword [sym.imp.MSVCR110.dll_free]
mov qword [rbx + Ordinal_2866], rsi
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x14009c9ff
call qword [sym.imp.WS2_32.dll_closesocket]
mov qword [r15 + 8], rdi
jmp 0x14009c9ff
cmp dword [rsp + 0x40], 0
je 0x14009c9ff
jmp 0x14009ca25
mov eax, dword [r12]
test eax, eax
jne 0x14009c99c
cmp dword [rsp + 0x50], eax
je 0x14009c968
mov rcx, qword [rbx + 0xb30]
test rcx, rcx
je 0x14009c9fb
call qword [sym.imp.MSVCR110.dll_free]
mov qword [rbx + Ordinal_2866], rsi
jmp 0x14009c9fb
test eax, eax
jne 0x14009c99c
mov dword [rbx + 0xb28], 8
lea ecx, [rax + 8]
call qword [sym.imp.MSVCR110.dll_malloc]
mov qword [rbx + Ordinal_2866], rax
mov dword [r12], 8
mov rax, qword [rbx + 0xb30]
mov qword [rbx + 0xb50], rax
lea rax, [fcn.14009bf40]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x50]
mov r8d, 1
mov rdx, r12
mov rcx, qword [r15 + 8]
call qword [sym.imp.WS2_32.dll_WSARecv]
cmp eax, 0xffffffff
jne 0x14009ca25
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
je 0x14009ca25
mov rcx, qword [r15 + 8]
cmp rcx, 0xffffffffffffffff
je 0x14009c9fb
call qword [sym.imp.WS2_32.dll_closesocket]
or rdi, 0xffffffffffffffff
mov qword [r15 + 8], rdi
jmp 0x14009c9ff
or rdi, 0xffffffffffffffff
mov rcx, qword [rbx + 0xb30]
test rcx, rcx
je 0x14009ca18
call qword [sym.imp.MSVCR110.dll_free]
mov qword [rbx + Ordinal_2866], rsi
mov dword [rbx + 0x28], edi
mov rcx, r14
call fcn.140056600
jmp 0x14009ca28
inc dword [rbx + 0x28]
mov rcx, qword [rsp + 0x120]
xor rcx, rsp
call fcn.1400bb310
add rsp, 0x130
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret