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

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x160
mov rax, qword [0x180594240]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov byte [rsp + 0x31], r9b
mov byte [rsp + 0x30], r8b
mov r13, rdx
mov qword [rsp + 0x40], rdx
mov rsi, rcx
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x38], rdx
mov rax, qword [rdx + 0x28]
mov qword [rsp + 0x50], rax
test rax, rax
jne 0x1801115c8
add rcx, 0x130
lea rdx, [rsp + 0x38]
call fcn.180118e10
mov rbx, qword [rax]
mov qword [rsp + 0x38], rbx
mov rdi, rbx
shr rdi, 0x20
mov r8d, edi
lea rdx, str.allocation:_table_hash__d
mov rcx, qword [rsi]
call fcn.180106d50
xor ebp, ebp
mov edx, dword [rsp + 0x3c]
cmp edi, 1
jbe 0x180111591
nop word [rax + rax]
inc rbp
mov rcx, rbp
mov eax, 1
shl eax, cl
cmp eax, edx
jb 0x180111580
test edx, edx
jne 0x18011159a
xor bpl, bpl
jmp 0x18011159d
inc bpl
mov byte [rsp + 0x20], 0
movzx r9d, bpl
movzx r8d, byte [rsp + 0x30]
mov edx, 0xff
mov rcx, qword [rsi]
call fcn.180106730
mov edx, ebx
mov rcx, qword [rsi]
call fcn.180106820
jmp 0x180111ba9
xor ebp, ebp
mov r12d, ebp
mov edi, ebp
mov r15d, ebp
mov ebx, ebp
test rax, rax
je 0x1801116ad
mov rdx, qword [rdx + 0x20]
mov r8, rax
mov ecx, dword [rdx]
mov eax, ebp
test ecx, ecx
sete al
add r12d, eax
mov eax, ebp
test ecx, ecx
setne al
add edi, eax
mov eax, ebp
cmp ecx, 1
sete al
add r15d, eax
lea rdx, [rdx + 0x18]
sub r8, 1
jne 0x1801115e4
mov eax, edi
test r12d, r12d
jne 0x1801116a7
test eax, eax
je 0x1801116a7
lea r8, [rsi + 0xe0]
mov r14, qword [r13 + 0x20]
add r14, 8
mov r13, qword [rsp + 0x50]
mov rsi, r8
nop dword [rax + rax]
mov rdx, r14
mov rcx, rsi
call fcn.180118f20
test rax, rax
je 0x180111672
cmp dword [rax], 3
jne 0x180111672
lea edx, [rbx + 1]
xorps xmm1, xmm1
cvtsi2sd xmm1, rdx
movsd xmm0, qword [rax + 8]
ucomisd xmm0, xmm1
jp 0x180111672
mov eax, 1
je 0x180111674
mov eax, ebp
add ebx, eax
add r14, 0x18
sub r13, 1
jne 0x180111640
lea eax, [r15 + rbx]
cmp edi, eax
mov rsi, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
movzx r9d, byte [rsp + 0x31]
movzx r8d, byte [rsp + 0x30]
jne 0x1801116a3
mov edi, r15d
jmp 0x1801116ad
mov ebx, ebp
jmp 0x1801116ad
movzx r8d, byte [rsp + 0x30]
mov r14, rbp
cmp edi, 1
jbe 0x1801116d3
nop word [rax + rax]
inc r14
mov rcx, r14
mov eax, 1
shl eax, cl
cmp eax, edi
jb 0x1801116c0
jmp 0x1801116d7
test edi, edi
je 0x1801116da
inc r14b
mov qword [rsp + 0x70], rsi
mov eax, dword [rsi + 0x40c]
mov dword [rsp + 0x120], eax
mov dword [rsp + 0x78], eax
test r9b, r9b
je 0x1801116fc
mov byte [rsp + 0x34], r8b
jmp 0x180111726
mov dword [rsp + 0x34], eax
lea ecx, [rax + 1]
cmp ecx, 0xff
ja 0x180111bf1
mov dword [rsi + 0x40c], ecx
mov eax, dword [rsi + 0x410]
cmp eax, ecx
cmovb eax, ecx
mov dword [rsi + 0x410], eax
test r12d, r12d
jne 0x180111867
test ebx, ebx
jne 0x180111867
cmp edi, r15d
jne 0x180111867
cmp r15d, 1
jb 0x180111867
cmp r15d, 0x20
ja 0x180111867
mov ebx, ebp
mov dword [rsp + 0x110], ebx
mov r15, rbp
cmp qword [r13 + 0x28], rbx
jbe 0x1801117fa
mov r13, rbp
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x20]
mov rcx, qword [rax + r13 + 8]
mov rdx, rbp
mov eax, dword [0x18059e32c]
cmp dword [rcx + 8], eax
cmove rdx, rcx
mov qword [rsp + 0x38], rdx
movups xmm0, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x60]
call fcn.18010c6b0
movups xmm0, xmmword [rax]
movaps xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
mov rcx, qword [rsi]
call fcn.1801060b0
test eax, eax
js 0x180111c1f
movsx ecx, ax
mov eax, ebx
mov dword [rsp + rax*4 + 0x90], ecx
mov ebx, dword [rsp + 0x110]
inc ebx
mov dword [rsp + 0x110], ebx
inc r15
add r13, 0x18
mov rax, qword [rsp + 0x40]
cmp r15, qword [rax + 0x28]
jb 0x180111772
mov r13, rax
lea rdx, [rsp + 0x90]
mov rcx, qword [rsi]
call fcn.180106160
mov ebx, eax
test eax, eax
js 0x180111c0e
mov r8d, edi
lea rdx, str.allocation:_table_template__d
mov rcx, qword [rsi]
call fcn.180106d50
mov rcx, qword [rsi]
mov r15d, dword [rsp + 0x34]
movzx r8d, r15b
cmp ebx, 0x8000
jge 0x18011184d
movzx r9d, bx
mov edx, 0xe2
call fcn.1801067b0
jmp 0x18011190a
mov byte [rsp + 0x20], 0
movzx r9d, r14b
mov edx, 0xff
call fcn.180106730
xor edx, edx
jmp 0x180111902
mov rax, qword [r13 + 0x28]
test rax, rax
je 0x18011189e
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x20]
lea rcx, [rcx - 3]
lea rcx, [rax + rcx*8]
test rcx, rcx
je 0x18011189e
cmp dword [rcx], 0
jne 0x18011189e
mov rcx, qword [rcx + 0x10]
mov eax, dword [0x18059e2d0]
cmp dword [rcx + 8], eax
mov eax, 1
je 0x1801118a0
mov eax, ebp
sub ebx, eax
add ebx, r12d
mov rcx, qword [rsi]
test edi, edi
jne 0x1801118bd
mov r8d, ebx
lea rdx, str.allocation:_table_array__d
call fcn.180106d50
jmp 0x1801118e1
mov r8d, edi
test ebx, ebx
jne 0x1801118d2
lea rdx, str.allocation:_table_hash__d
call fcn.180106d50
jmp 0x1801118e1
mov r9d, ebx
lea rdx, str.allocation:_table_hash__d_array__d
call fcn.180106d50
mov byte [rsp + 0x20], 0
movzx r9d, r14b
mov r15d, dword [rsp + 0x34]
movzx r8d, r15b
mov edx, 0xff
mov rcx, qword [rsi]
call fcn.180106730
mov edx, ebx
mov rcx, qword [rsi]
call fcn.180106820
mov r8d, reloc.WS2_32.dll_recv
cmp r12d, r8d
cmovb r8d, r12d
mov dword [rsp + 0x40], r8d
mov r9d, dword [rsi + 0x40c]
mov dword [rsp + 0x48], r9d
lea ecx, [r9 + r8]
cmp ecx, 0xff
ja 0x180111c35
mov dword [rsi + 0x40c], ecx
mov eax, dword [rsi + 0x410]
cmp eax, ecx
cmovb eax, ecx
mov dword [rsi + 0x410], eax
mov edi, ebp
mov dword [rsp + 0x50], 1
xor al, al
mov byte [rsp + 0x31], al
mov r12, rbp
cmp qword [r13 + 0x28], rdi
jbe 0x180111b76
mov rcx, rbp
mov qword [rsp + 0x38], rcx
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [r13 + 0x20]
mov rbx, qword [rcx + rax + 8]
mov r14, qword [rcx + rax + 0x10]
cmp dword [rsi + 0xc], 1
jl 0x1801119a2
mov edx, dword [r14 + 0xc]
inc edx
mov rcx, qword [rsi]
call fcn.180106c50
cmp dword [rsi + 0x14], 2
jl 0x1801119ca
mov byte [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, gethostbyaddr
mov rcx, qword [rsi]
call fcn.180106730
mov r8d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x48]
test edi, edi
je 0x180111a0e
test rbx, rbx
jne 0x1801119dc
cmp edi, r8d
jne 0x180111abc
lea eax, [rdi + 1]
mov byte [rsp + 0x20], al
movzx r8d, r15b
mov edx, 0xc5
mov rcx, qword [rsi]
call fcn.180106730
mov r15d, dword [rsp + 0x50]
mov edx, r15d
mov rcx, qword [rsi]
call fcn.180106820
add r15d, edi
mov dword [rsp + 0x50], r15d
mov edi, ebp
test rbx, rbx
je 0x180111abc
mov qword [rsp + 0x80], rsi
mov r15d, dword [rsi + 0x40c]
mov dword [rsp + 0x88], r15d
mov r9, rbx
movzx r8d, byte [rsp + 0x34]
lea rdx, [rsp + 0x128]
mov rcx, rsi
call fcn.180112f10
mov rdx, r14
mov rcx, rsi
call fcn.1801135c0
mov ebx, eax
test eax, eax
jns 0x180111a93
mov ebx, dword [rsi + 0x40c]
lea ecx, [rbx + 1]
cmp ecx, 0xff
ja 0x180111bd4
mov dword [rsi + 0x40c], ecx
mov eax, dword [rsi + 0x410]
cmp eax, ecx
cmovb eax, ecx
mov dword [rsi + 0x410], eax
movzx r8d, bl
mov rdx, r14
mov rcx, rsi
call fcn.180112b50
mov r9b, 1
movzx r8d, bl
lea rdx, [rsp + 0x128]
mov rcx, rsi
call fcn.180113370
nop
mov dword [rsi + 0x40c], r15d
inc r12
mov r15d, dword [rsp + 0x48]
jmp 0x180111b13
mov r15d, dword [rsp + 0x48]
lea r8d, [rdi + r15]
lea rax, [r12 + 1]
mov r12, rax
cmp rax, qword [r13 + 0x28]
jne 0x180111ae4
mov rdx, r14
mov rcx, rsi
call fcn.18010d540
mov byte [rsp + 0x31], al
jmp 0x180111b11
mov qword [rsp + 0x60], rsi
mov ebx, dword [rsi + 0x40c]
mov dword [rsp + 0x68], ebx
movzx eax, r8b
inc eax
mov dword [rsi + 0x40c], eax
mov rdx, r14
mov rcx, rsi
call fcn.180112b50
nop
mov dword [rsi + 0x40c], ebx
inc edi
mov rcx, qword [rsp + 0x38]
add rcx, 0x18
mov qword [rsp + 0x38], rcx
cmp r12, qword [r13 + 0x28]
jae 0x180111b3b
mov r15d, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x40]
mov r9d, dword [rsp + 0x48]
jmp 0x180111980
test edi, edi
je 0x180111b76
cmp byte [rsp + 0x31], 0
je 0x180111b4b
xor dil, dil
jmp 0x180111b4e
inc dil
mov byte [rsp + 0x20], dil
movzx r9d, r15b
movzx r8d, byte [rsp + 0x34]
mov edx, 0xc5
mov rcx, qword [rsi]
call fcn.180106730
mov edx, dword [rsp + 0x50]
mov rcx, qword [rsi]
call fcn.180106820
mov eax, dword [rsp + 0x34]
movzx r8d, byte [rsp + 0x30]
cmp r8b, al
je 0x180111b9c
mov byte [rsp + 0x20], 0
movzx r9d, al
mov edx, 0x52
mov rcx, qword [rsi]
call fcn.180106730
nop
mov eax, dword [rsp + 0x120]
mov dword [rsi + 0x40c], eax
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1803fd0a0
mov rbx, qword [rsp + 0x1b0]
add rsp, 0x160
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [r14 + 0xc]
mov r9d, 0xff
mov r8d, 1
lea rdx, str.Out_of_registers_when_trying_to_allocate__d_registers:_exceeded_limit__d
call fcn.18010c5c0
nop
lea rcx, [r13 + 0xc]
mov r9d, 0xff
mov r8d, 1
lea rdx, str.Out_of_registers_when_trying_to_allocate__d_registers:_exceeded_limit__d
call fcn.18010c5c0
int3
lea rcx, [r13 + 0xc]
lea rdx, str.Exceeded_constant_limit__simplify_the_code_to_compile
call fcn.18010c5c0
int3
mov rcx, qword [rsp + 0x38]
add rcx, 0xc
lea rdx, str.Exceeded_constant_limit__simplify_the_code_to_compile
call fcn.18010c5c0
int3
lea rcx, [r13 + 0xc]
mov r9d, 0xff
lea rdx, str.Out_of_registers_when_trying_to_allocate__d_registers:_exceeded_limit__d
call fcn.18010c5c0
int3