Function at 0x180009d40
Capabilities:
Read file on windows

Disassembly:
mov rax, qword [rdx + 0x20]
movsx r9d, byte [rax]
add r9d, 0xffffffde
cmp r9d, 0x59
ja case.0x180009130.35
movsxd rax, r9d
lea r10, [0x180000000]
movzx eax, byte [r10 + rax + 0x9178]
mov r9d, dword [r10 + rax*4 + 0x915c]
add r9, r10
jmp r9
jmp 0x180009280
jmp 0x180009320
jmp 0x1800093f0
xor r9d, r9d
jmp 0x1800094d0
jmp 0x180009940
jmp 0x180009b90
jmp 0x180009d40
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x75
jne 0x1800092f4
mov rcx, rbx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x1800092f4
mov rcx, rbx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x1800092f4
mov rcx, rbx
call fcn.180008bc0
mov rcx, rsi
call fcn.1800084e0
test al, al
jne 0x18000930a
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
jmp 0x180009306
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x72
jne 0x1800093bd
mov rcx, rbx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x75
jne 0x1800093bd
mov rcx, rbx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x65
jne 0x1800093bd
mov rcx, rbx
call fcn.180008bc0
mov rax, qword [rsi + 0x38]
add rax, 0x10
cmp rax, qword [rsi + 0x40]
jbe 0x18000938a
lea rcx, [rsi + 0x20]
call fcn.180004160
mov rcx, qword [rsi + 0x38]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x1800093d3
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov eax, 0xa
mov word [rcx + 0xe], ax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rsi, r8
mov rcx, rdx
mov rbx, rdx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x61
jne 0x1800094a2
mov rcx, rbx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x6c
jne 0x1800094a2
mov rcx, rbx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x73
jne 0x1800094a2
mov rcx, rbx
call fcn.180008bc0
mov rdx, qword [rbx + 0x20]
cmp byte [rdx], 0x65
jne 0x1800094a2
mov rcx, rbx
call fcn.180008bc0
mov rax, qword [rsi + 0x38]
add rax, 0x10
cmp rax, qword [rsi + 0x40]
jbe 0x18000946f
lea rcx, [rsi + 0x20]
call fcn.180004160
mov rcx, qword [rsi + 0x38]
lea rax, [rcx + 0x10]
mov qword [rsi + 0x38], rax
test rcx, rcx
je 0x1800094b8
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov eax, 9
mov word [rcx + 0xe], ax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rdx
mov dword [rdi + 0x30], 3
mov qword [rdi + 0x38], rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x90], rbx
movzx r12d, r9b
mov r13, r8
mov rbx, rdx
mov rdi, rcx
mov rcx, rdx
call fcn.180008bc0
mov rsi, rdi
mov qword [rsp + 0x28], rdi
xor r14d, r14d
mov dword [rsp + 0x30], r14d
lea r15, [0x180078510]
nop dword [rax]
mov rcx, qword [rbx + 0x20]
movzx ebp, byte [rcx]
cmp bpl, 0x5c
jne 0x180009737
mov rdx, qword [rbx + 0x30]
mov r10, qword [rbx + 8]
mov rbp, rdx
sub rbp, r10
add rbp, rcx
cmp rcx, qword [rbx + 0x18]
jae 0x180009552
lea rax, [rcx + 1]
mov qword [rbx + 0x20], rax
jmp 0x18000959d
cmp byte [rbx + 0x38], 0
jne 0x18000959d
add rdx, qword [rbx + 0x28]
mov qword [rbx + 0x30], rdx
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, r10
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x18000959d
mov byte [rax + rdx], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rcx, qword [rbx + 0x20]
movzx edx, byte [rcx]
add r15, rdx
cmp byte [r15], 0
je 0x1800095ea
mov rcx, rbx
call fcn.180008bc0
movzx ebp, byte [r15]
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x1800095d3
mov edx, 1
mov rcx, rsi
call fcn.1800040b0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], bpl
inc r14d
jmp 0x180009511
cmp dl, 0x75
jne 0x18000971d
cmp rcx, qword [rbx + 0x18]
jae 0x180009603
lea rax, [rcx + 1]
mov qword [rbx + 0x20], rax
jmp 0x18000964f
cmp byte [rbx + 0x38], 0
jne 0x18000964f
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x18000964f
mov byte [rax + rdx], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.18000a710
mov edx, eax
cmp dword [rdi + 0x30], 0
jne 0x18000991a
lea r15d, [rax - 0xd800]
cmp r15d, 0x3ff
ja 0x180009704
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5c
jne 0x1800096a1
mov rcx, rbx
call fcn.180008bc0
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x75
jne 0x1800096a1
mov rcx, rbx
call fcn.180008bc0
jmp 0x1800096b6
mov dword [rdi + 0x30], 9
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x18000991a
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.18000a710
cmp dword [rdi + 0x30], 0
jne 0x18000991a
lea ecx, [rax - 0xdc00]
cmp ecx, 0x3ff
jbe 0x1800096f1
mov dword [rdi + 0x30], 9
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x18000991a
mov edx, r15d
shl edx, 0xa
add eax, 0xffff2400
or edx, eax
add edx, 0x10000
lea rcx, [rsp + 0x28]
call fcn.180008760
mov r14d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x28]
jmp 0x180009516
mov dword [rdi + 0x30], 0xa
mov qword [rdi + 0x38], rbp
cmp dword [rdi + 0x30], 0
jne 0x18000991a
jmp 0x180009516
cmp bpl, 0x22
je 0x1800097c5
cmp bpl, 0x20
jae 0x180009787
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov qword [rdi + 0x38], rax
test bpl, bpl
jne 0x180009771
mov dword [rdi + 0x30], recv
cmp dword [rdi + 0x30], 0
jne 0x18000991a
jmp 0x180009520
mov dword [rdi + 0x30], 0xa
cmp dword [rdi + 0x30], 0
jne 0x18000991a
jmp 0x180009520
mov rcx, rbx
call fcn.180008bc0
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x1800097a9
mov edx, 1
mov rcx, rsi
call fcn.1800040b0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], bpl
inc r14d
mov dword [rsp + 0x30], r14d
jmp 0x180009520
mov rax, qword [rbx + 0x20]
cmp rax, qword [rbx + 0x18]
jae 0x1800097d8
inc rax
mov qword [rbx + 0x20], rax
jmp 0x180009824
cmp byte [rbx + 0x38], 0
jne 0x180009824
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x180009824
mov byte [rdx + rax], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, qword [rsi + 0x20]
jbe 0x18000983e
mov edx, 1
mov rcx, rsi
call fcn.1800040b0
mov rcx, qword [rsi + 0x18]
lea rax, [rcx + 1]
mov qword [rsi + 0x18], rax
mov byte [rcx], 0
inc r14d
cmp dword [rdi + 0x30], 0
jne 0x18000991a
lea edi, [r14 - 1]
mov eax, r14d
sub qword [rsi + 0x18], rax
mov rsi, qword [rsi + 0x18]
mov rax, qword [r13 + 0x38]
add rax, 0x10
test r12b, r12b
je 0x1800098c9
cmp rax, qword [r13 + 0x40]
jbe 0x180009885
lea rcx, [r13 + 0x20]
call fcn.180004160
mov rcx, qword [r13 + 0x38]
lea rax, [rcx + 0x10]
mov qword [r13 + 0x38], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
test rcx, rcx
je 0x1800098c7
mov r8, qword [r13 + 0x10]
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x28]
call fcn.180008650
nop
jmp 0x18000991a
cmp rax, qword [r13 + 0x40]
jbe 0x1800098d8
lea rcx, [r13 + 0x20]
call fcn.180004160
mov rcx, qword [r13 + 0x38]
lea rax, [rcx + 0x10]
mov qword [r13 + 0x38], rax
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
test rcx, rcx
je 0x18000991a
mov r8, qword [r13 + 0x10]
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x28]
call fcn.180008650
nop
mov rbx, qword [rsp + 0x90]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbp, r8
mov rcx, rdx
mov rbx, rdx
call fcn.180008bc0
mov rax, qword [rbp + 0x38]
add rax, 0x10
cmp rax, qword [rbp + 0x40]
jbe 0x18000997c
lea rcx, [rbp + 0x20]
call fcn.180004160
mov rcx, qword [rbp + 0x38]
mov esi, 3
lea rax, [rcx + 0x10]
mov qword [rbp + 0x38], rax
test rcx, rcx
je 0x18000999f
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov word [rcx + 0xe], si
mov rdx, rbx
mov rcx, rdi
call fcn.180008e30
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x7d
jne 0x1800099e8
mov rcx, rbx
call fcn.180008bc0
mov rax, qword [rbp + 0x38]
movabs rcx, 0xffff000000000000
mov word [rax - 2], si
and qword [rax - 8], rcx
xor esi, esi
mov qword [rax - 0x10], rsi
jmp 0x180009b41
xor esi, esi
nop word [rax + rax]
cmp al, 0x22
je 0x180009a14
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 4
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov r9b, 1
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call 0x1800094d0
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov rdx, rbx
mov rcx, rdi
call fcn.180008e30
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov rcx, qword [rbx + 0x20]
cmp byte [rcx], 0x3a
jne 0x180009a57
mov rcx, rbx
call fcn.180008bc0
jmp 0x180009a77
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 5
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov rdx, rbx
mov rcx, rdi
call fcn.180008e30
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.180009100
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov rdx, rbx
mov rcx, rdi
call fcn.180008e30
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov rcx, qword [rbx + 0x20]
inc esi
movzx eax, byte [rcx]
cmp al, 0x2c
je 0x180009ae6
cmp al, 0x7d
je 0x180009b56
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 6
mov qword [rdi + 0x38], rax
jmp 0x180009af9
mov rcx, rbx
call fcn.180008bc0
mov rdx, rbx
mov rcx, rdi
call fcn.180008e30
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x7d
jne 0x1800099f0
mov edx, esi
mov rcx, rbp
call fcn.180008270
test al, al
jne 0x180009b39
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
cmp dword [rdi + 0x30], 0
jne 0x180009b41
mov rcx, rbx
call fcn.180008bc0
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov rcx, rbx
call fcn.180008bc0
mov edx, esi
mov rcx, rbp
call fcn.180008270
test al, al
jne 0x180009b41
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, qword [rbx + 0x20]
mov qword [rdi + 0x38], rax
mov dword [rdi + 0x30], reloc.WS2_32.dll_recv
jmp 0x180009b41
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rdi, rcx
mov rbp, r8
mov rcx, rdx
mov rbx, rdx
call fcn.180008bc0
mov rax, qword [rbp + 0x38]
add rax, 0x10
cmp rax, qword [rbp + 0x40]
jbe 0x180009bca
lea rcx, [rbp + 0x20]
call fcn.180004160
mov rcx, qword [rbp + 0x38]
mov esi, 4
lea rax, [rcx + 0x10]
mov qword [rbp + 0x38], rax
test rcx, rcx
je 0x180009bed
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 8], rax
mov word [rcx + 0xe], si
mov rdx, rbx
mov rcx, rdi
call fcn.180008e30
cmp dword [rdi + 0x30], 0
jne 0x180009d22
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5d
jne 0x180009c34
mov rcx, rbx
call fcn.180008bc0
mov rax, qword [rbp + 0x38]
movabs rcx, 0xffff000000000000
mov word [rax - 2], si
and qword [rax - 8], rcx
xor esi, esi
mov qword [rax - 0x10], rsi
jmp 0x180009d22
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
xor esi, esi
call fcn.180009100
cmp dword [rdi + 0x30], esi
jne 0x180009d22
nop dword [rax]
mov rdx, rbx
mov rcx, rdi
inc esi
call fcn.180008e30
cmp dword [rdi + 0x30], 0
jne 0x180009d22
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
cmp al, 0x2c
jne 0x180009c87
mov rcx, rbx
call fcn.180008bc0
mov rdx, rbx
mov rcx, rdi
call fcn.180008e30
jmp 0x180009ca1
cmp al, 0x5d
je 0x180009cf5
mov rax, qword [rbx + 0x30]
sub rax, qword [rbx + 8]
add rax, rcx
mov dword [rdi + 0x30], 7
mov qword [rdi + 0x38], rax
cmp dword [rdi + 0x30], 0
jne 0x180009d22
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x5d
je 0x180009cc6
mov r8, rbp
mov rdx, rbx
mov rcx, rdi
call fcn.180009100
cmp dword [rdi + 0x30], 0
je 0x180009c50
jmp 0x180009d22
mov eax, esi
mov r8d, esi
neg rax
shl rax, 4
add qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x10]
sub rcx, 0x10
mov rdx, qword [rbp + 0x38]
call fcn.1800085c0
mov rcx, rbx
call fcn.180008bc0
jmp 0x180009d22
mov rcx, rbx
call fcn.180008bc0
mov eax, esi
mov r8d, esi
neg rax
shl rax, 4
add qword [rbp + 0x38], rax
mov rcx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x10]
sub rcx, 0x10
mov rdx, qword [rbp + 0x38]
call fcn.1800085c0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, rsp
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov qword [rsp + 0x30], 0xfffffffffffffffe
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rsp + 0x50], xmm9
movaps xmmword [rsp + 0x40], xmm10
mov rbx, rdx
mov r13, rcx
mov rax, qword [rdx + 0x20]
mov rbp, rax
sub rbp, qword [rdx + 8]
add rbp, qword [rdx + 0x30]
mov qword [rsp + 0x28], rbp
xorps xmm10, xmm10
movaps xmm6, xmm10
cmp byte [rax], 0x2d
jne 0x180009db9
mov rcx, rdx
call fcn.180008bc0
mov byte [rsp + 0xe8], 1
jmp 0x180009dc1
mov byte [rsp + 0xe8], 0
xor r12d, r12d
mov r15d, r12d
mov r14d, r12d
mov byte [rsp + 0x20], r12b
mov esi, r12d
mov rcx, qword [rbx + 0x20]
movzx edi, byte [rcx]
movsd xmm9, qword [0x18007a420]
movsd xmm8, qword [0x18007a3e0]
cmp dil, 0x30
jne 0x180009e09
mov rcx, rbx
call fcn.180008bc0
xor dil, dil
mov byte [rsp + 0xf8], dil
jmp 0x18000a18b
lea eax, [rdi - 0x31]
cmp al, 8
ja 0x180009ee3
mov rcx, rbx
call fcn.180008bc0
movsx r15d, dil
sub r15d, 0x30
movzx ecx, byte [rsp + 0xe8]
mov rax, qword [rbx + 0x20]
test cl, cl
je 0x180009e91
cmp byte [rax], 0x30
jl 0x180009f09
nop dword [rax]
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x180009f01
cmp r15d, 0xccccccc
jb 0x180009e62
jne 0x180009e87
cmp dil, 0x38
jg 0x180009e87
mov rcx, rbx
call fcn.180008bc0
lea ecx, [r15 + r15*4]
movsx r15d, dil
add r15d, 0xffffffd0
lea r15d, [r15 + rcx*2]
inc esi
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x180009f01
jmp 0x180009e40
mov r14d, r15d
mov byte [rsp + 0x20], 1
jmp 0x180009f01
cmp byte [rax], 0x30
jl 0x180009f09
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x180009f01
cmp r15d, 0x19999999
jb 0x180009ebe
jne 0x180009e87
cmp dil, 0x35
jg 0x180009e87
mov rcx, rbx
call fcn.180008bc0
lea ecx, [r15 + r15*4]
movsx r15d, dil
add r15d, 0xffffffd0
lea r15d, [r15 + rcx*2]
inc esi
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x180009f01
jmp 0x180009ea0
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], 3
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], esi
jne 0x18000a6da
movzx ecx, byte [rsp + 0xe8]
xor dil, dil
mov byte [rsp + 0xf8], dil
cmp byte [rsp + 0x20], dil
je 0x18000a18b
mov rax, qword [rbx + 0x20]
test cl, cl
je 0x180009fe5
cmp byte [rax], 0x30
jl 0x18000a18b
movabs rcx, 0xccccccccccccccc
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x180009fdd
cmp r14, rcx
jb 0x180009f64
jne 0x18000a094
cmp dil, 0x38
jg 0x18000a094
cmp rax, qword [rbx + 0x18]
jae 0x180009f73
inc rax
mov qword [rbx + 0x20], rax
jmp 0x180009fbf
cmp byte [rbx + 0x38], r12b
jne 0x180009fbf
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x180009fbf
mov byte [rax + rdx], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx ecx, dil
sub ecx, 0x30
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
inc esi
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x180009f34
xor dil, dil
jmp 0x18000a18b
cmp byte [rax], 0x30
jl 0x18000a18b
movabs rcx, 0x1999999999999999
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x180009fdd
cmp r14, rcx
jb 0x18000a016
jne 0x18000a094
cmp dil, 0x35
jg 0x18000a094
cmp rax, qword [rbx + 0x18]
jae 0x18000a025
inc rax
mov qword [rbx + 0x20], rax
jmp 0x18000a071
cmp byte [rbx + 0x38], r12b
jne 0x18000a071
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x18000a071
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx ecx, dil
sub ecx, 0x30
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
inc esi
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x180009fdd
jmp 0x180009fee
xorps xmm6, xmm6
test r14, r14
cvtsi2sd xmm6, r14
jns 0x18000a0a6
addsd xmm6, xmm9
mov dil, 1
mov byte [rsp + 0xf8], dil
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x18000a18b
movsd xmm7, qword [0x18007a428]
nop word [rax + rax]
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x39
jg 0x18000a183
comisd xmm6, xmm7
jb 0x18000a0f9
mov dword [r13 + 0x30], reloc.WS2_32.dll_listen
mov qword [r13 + 0x38], rbp
cmp dword [r13 + 0x30], r12d
jne 0x18000a6da
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp rax, qword [rbx + 0x18]
jae 0x18000a10f
inc rax
mov qword [rbx + 0x20], rax
jmp 0x18000a15b
cmp byte [rbx + 0x38], r12b
jne 0x18000a15b
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x18000a15b
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx eax, dil
sub eax, 0x30
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm6, xmm8
addsd xmm0, xmm6
movaps xmm6, xmm0
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x18000a0d0
movzx edi, byte [rsp + 0xf8]
mov ebp, r12d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x2e
jne 0x18000a3d5
mov rcx, rbx
call fcn.180008bc0
mov rcx, qword [rbx + 0x20]
movzx eax, byte [rcx]
sub al, 0x30
cmp al, 9
jbe 0x18000a1ce
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], recv
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], r12d
jne 0x18000a6da
test dil, dil
jne 0x18000a2bc
cmp byte [rsp + 0x20], bpl
jne 0x18000a1e1
mov r14d, r15d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x18000a2a2
movabs r13, 0x1fffffffffffff
nop dword [rax + rax]
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x18000a29a
cmp r14, r13
ja 0x18000a29a
cmp rax, qword [rbx + 0x18]
jae 0x18000a229
inc rax
mov qword [rbx + 0x20], rax
jmp 0x18000a275
cmp byte [rbx + 0x38], r12b
jne 0x18000a275
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x18000a275
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx ecx, dil
sub ecx, 0x30
lea rax, [r14 + r14*4]
lea r14, [rcx + rax*2]
dec ebp
test r14, r14
je 0x18000a28d
inc esi
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x18000a200
mov r13, qword [rsp + 0xe0]
xorps xmm6, xmm6
cvtsi2sd xmm6, r14
test r14, r14
jns 0x18000a2b4
addsd xmm6, xmm9
mov byte [rsp + 0xf8], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x18000a3d5
nop dword [rax]
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x18000a3d5
cmp esi, 0x11
jge 0x18000a36d
cmp rax, qword [rbx + 0x18]
jae 0x18000a2f9
inc rax
mov qword [rbx + 0x20], rax
jmp 0x18000a345
cmp byte [rbx + 0x38], r12b
jne 0x18000a345
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x18000a345
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
movsx eax, dil
sub eax, 0x30
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm6, xmm8
addsd xmm0, xmm6
movaps xmm6, xmm0
dec ebp
comisd xmm0, xmm10
jbe 0x18000a3c8
inc esi
jmp 0x18000a3c8
cmp rax, qword [rbx + 0x18]
jae 0x18000a37c
inc rax
mov qword [rbx + 0x20], rax
jmp 0x18000a3c8
cmp byte [rbx + 0x38], r12b
jne 0x18000a3c8
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x18000a3c8
mov byte [rdx + rax], r12b
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x18000a2d0
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax]
cmp cl, 0x65
je 0x18000a3ea
cmp cl, 0x45
jne 0x18000a5c8
mov rcx, rbx
call fcn.180008bc0
cmp byte [rsp + 0xf8], r12b
jne 0x18000a423
cmp byte [rsp + 0x20], r12b
mov rax, r14
jne 0x18000a409
mov eax, r15d
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
test rax, rax
jns 0x18000a41b
addsd xmm6, xmm9
mov byte [rsp + 0xf8], 1
xor sil, sil
mov rax, qword [rbx + 0x20]
movzx ecx, byte [rax]
cmp cl, 0x2b
jne 0x18000a43c
mov rcx, rbx
call fcn.180008bc0
jmp 0x18000a44c
cmp cl, 0x2d
jne 0x18000a44c
mov rcx, rbx
call fcn.180008bc0
mov sil, 1
mov rcx, qword [rbx + 0x20]
movzx edi, byte [rcx]
lea eax, [rdi - 0x30]
cmp al, 9
ja 0x18000a5a2
mov rcx, rbx
call fcn.180008bc0
movsx r12d, dil
sub r12d, 0x30
mov rax, qword [rbx + 0x20]
test sil, sil
je 0x18000a53f
cmp byte [rax], 0x30
jl 0x18000a5c0
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x18000a5c0
mov rcx, rbx
call fcn.180008bc0
lea r12d, [r12 + r12*4]
movsx eax, dil
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
cmp r12d, 0xccccccc
jl 0x18000a52d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jl 0x18000a52d
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x39
jg 0x18000a52d
cmp rax, qword [rbx + 0x18]
jae 0x18000a4d8
inc rax
mov qword [rbx + 0x20], rax
jmp 0x18000a524
cmp byte [rbx + 0x38], 0
jne 0x18000a524
mov rax, qword [rbx + 0x28]
add qword [rbx + 0x30], rax
mov r9, qword [rbx]
mov r8, qword [rbx + 0x10]
mov edx, 1
mov rcx, qword [rbx + 8]
call fcn.180034f20
mov qword [rbx + 0x28], rax
mov rdx, qword [rbx + 8]
lea rcx, [rdx - 1]
add rcx, rax
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], rdx
cmp rax, qword [rbx + 0x10]
jae 0x18000a524
mov byte [rdx + rax], 0
inc qword [rbx + 0x18]
mov byte [rbx + 0x38], 1
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x18000a4c0
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x18000a484
jmp 0x18000a5c0
mov esi, 0x134
sub esi, ebp
cmp byte [rax], 0x30
jl 0x18000a5c8
nop
mov rax, qword [rbx + 0x20]
movzx edi, byte [rax]
cmp dil, 0x39
jg 0x18000a5c8
mov rcx, rbx
call fcn.180008bc0
lea r12d, [r12 + r12*4]
movsx eax, dil
lea r12d, [r12 - 0x18]
lea r12d, [rax + r12*2]
cmp r12d, esi
jle 0x18000a597
mov dword [r13 + 0x30], reloc.WS2_32.dll_listen
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x38], rax
cmp dword [r13 + 0x30], 0
jne 0x18000a6da
mov rax, qword [rbx + 0x20]
cmp byte [rax], 0x30
jge 0x18000a550
jmp 0x18000a5c8
sub rcx, qword [rbx + 8]
add rcx, qword [rbx + 0x30]
mov dword [r13 + 0x30], reloc.WS2_32.dll_ntohs
mov qword [r13 + 0x38], rcx
cmp dword [r13 + 0x30], r12d
jne 0x18000a6da
test sil, sil
je 0x18000a5c8
neg r12d
cmp byte [rsp + 0xf8], 0
je 0x18000a674
lea eax, [r12 + rbp]
cmp eax, 0xfffffecc
jge 0x18000a5fb
divsd xmm6, qword [0x18007a430]
add eax, 0x134
cmp eax, 0xfffffecc
jge 0x18000a5fb
movaps xmm6, xmm10
jmp 0x18000a61a
lea rcx, [0x180078620]
test eax, eax
cdqe
js 0x18000a60f
mulsd xmm6, qword [rcx + rax*8]
jmp 0x18000a61a
shl rax, 3
sub rcx, rax
divsd xmm6, qword [rcx]
cmp byte [rsp + 0xe8], 0
je 0x18000a62b
xorps xmm6, xmmword [0x18007a480]
mov rbx, qword [rsp + 0xf0]
mov rax, qword [rbx + 0x38]
add rax, 0x10
cmp rax, qword [rbx + 0x40]
jbe 0x18000a64a
lea rcx, [rbx + 0x20]
call fcn.180004160
mov rcx, qword [rbx + 0x38]
lea rax, [rcx + 0x10]
mov qword [rbx + 0x38], rax
test rcx, rcx
je 0x18000a6da
xor eax, eax
mov qword [rcx + 8], rax
movsd qword [rcx], xmm6
mov eax, 0x216
mov word [rcx + 0xe], ax
jmp 0x18000a6da
mov rcx, qword [rsp + 0xf0]
cmp byte [rsp + 0x20], 0
je 0x18000a6a5
cmp byte [rsp + 0xe8], 0
je 0x18000a69b
not r14
lea rdx, [r14 + 1]
call fcn.180008350
jmp 0x18000a6c5
mov rdx, r14
call fcn.1800082b0
jmp 0x18000a6c5
cmp byte [rsp + 0xe8], 0
je 0x18000a6bd
not r15d
lea edx, [r15 + 1]
call fcn.180008470
jmp 0x18000a6c5
mov edx, r15d
call fcn.180008400
test al, al
jne 0x18000a6da
mov dword [r13 + 0x30], reloc.WS2_32.dll_recv
mov rax, qword [rsp + 0x28]
mov qword [r13 + 0x38], rax
movaps xmm6, xmmword [rsp + 0x80]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x50]
movaps xmm10, xmmword [rsp + 0x40]
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret