Function at 0x140038aa0
Capabilities:
Enumerate pe sections

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xa8
mov rax, qword [0x14025e2c0]
xor rax, rsp
mov qword [rsp + 0x90], rax
mov r14, r9
mov r10, r8
mov qword [rsp + 0x38], r8
mov rbx, rdx
mov qword [rsp + 0x40], rdx
mov rsi, rcx
mov r15, qword [rsp + 0x110]
mov qword [rsp + 0x30], r15
mov r13, qword [rsp + 0x118]
mov edi, 2
xor ebp, ebp
mov r12d, 4
cmp rdx, rcx
jne 0x14003a14e
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
mov rcx, rax
movabs rax, 0x346dc5d63886594b
imul rcx
sar rdx, 0xb
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsi + 0x80], rdx
mov dword [rsi + 0xb0], 1
movzx r12d, byte [rsp + 0x120]
test r12b, r12b
jne 0x140038b98
movzx eax, byte [r14 + 4]
cmp byte [r13 + 4], al
je 0x140038b5d
mov dword [rsi + 0xb0], edi
jmp 0x140038bad
movzx ecx, word [r14]
movzx eax, word [r13]
sub ecx, eax
mov eax, ecx
neg eax
cmovs eax, ecx
cmp eax, 1
jl 0x140038bad
movzx eax, word [r13 + 2]
movzx ecx, word [r14 + 2]
sub ecx, eax
mov eax, ecx
neg eax
cmovs eax, ecx
cmp eax, 1
jl 0x140038bad
mov dword [rsi + 0xb0], 3
jmp 0x140038bad
mov edx, dword [rsi + 0x9c]
test edx, edx
je 0x140038bad
call fcn.140174fd0
mov dword [rsi + 0x9c], ebp
cmp qword [rsi + 0x30], rbp
je 0x140038c66
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + reloc.WS2_32.dll_htonl]
test rax, rax
je 0x140038c66
mov rdi, qword [rsi + 0x28]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140038c61
nop dword [rax]
mov r8, qword [rbx + 0x10]
movzx eax, byte [r8 + 0x16]
movzx ecx, byte [r14 + 4]
sub ecx, eax
mov eax, ecx
neg eax
cmovs eax, ecx
cwde
cmp eax, dword [0x14026e458]
jge 0x140038c32
movzx ecx, word [r14 + 2]
movzx eax, word [r8 + 0x14]
sub ecx, eax
mov edx, ecx
neg edx
cmovs edx, ecx
movzx ecx, word [r14]
movzx eax, word [r8 + 0x12]
sub ecx, eax
mov eax, ecx
neg eax
cmovs eax, ecx
cmp eax, edx
cmovl eax, edx
cmp eax, dword [0x14026e45c]
jl 0x140038c54
mov rax, qword [r8]
mov rcx, r8
call qword [rax + 0x28]
mov r15, rax
test rax, rax
je 0x140038c54
mov rcx, rax
call fcn.14011fe60
test al, al
jne 0x140038c54
mov byte [r15 + 0x10], 1
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x140038be0
mov r15, qword [rsp + 0x30]
mov edi, 2
mov rcx, qword [rsp + 0x38]
mov ecx, dword [rcx + 0x20]
mov eax, ecx
shr eax, 7
test al, 1
je 0x140038c7b
mov ecx, ebp
jmp 0x140038c99
mov eax, ecx
shr eax, 8
test al, 1
je 0x140038c8b
mov ecx, 1
jmp 0x140038c99
shr ecx, 0xa
test cl, 1
mov ecx, 4
cmovne ecx, edi
mov edx, dword [r15 + 0x20]
mov eax, edx
shr eax, 7
test al, 1
je 0x140038caa
mov eax, ebp
jmp 0x140038cc8
mov eax, edx
shr eax, 8
test al, 1
je 0x140038cba
mov eax, 1
jmp 0x140038cc8
shr edx, 0xa
test dl, 1
mov eax, 4
cmovne eax, edi
cmp ecx, eax
je 0x140038d0e
mov rax, qword [rsi]
mov r8, qword [rax + 0x1e8]
mov rax, qword [rsi + 0x60]
mov ecx, dword [rax + 0x20]
mov eax, ecx
shr eax, 7
test al, 1
je 0x140038cea
mov edx, ebp
jmp 0x140038d08
mov eax, ecx
shr eax, 8
test al, 1
je 0x140038cfa
mov edx, 1
jmp 0x140038d08
shr ecx, 0xa
test cl, 1
mov edx, 4
cmovne edx, edi
mov rcx, rsi
call r8
cmp byte [rsi + 0x5b2], bpl
je 0x140039f74
test r12b, r12b
jne 0x14003a141
movzx eax, byte [r14 + 4]
cmp byte [r13 + 4], al
jne 0x14003a141
movzx eax, word [r13 + 2]
mov ebx, 0xffffffef
cmp ax, word [r14 + 2]
jbe 0x1400393f5
vmovups ymm0, ymmword [rsi + 0x56b]
vmovups ymmword [rsi + 0x58e], ymm0
movzx eax, word [rsi + 0x58b]
mov word [rsi + 0x5ae], ax
movzx eax, byte [rsi + 0x58d]
mov byte [rsi + 0x5b0], al
vmovups ymm0, ymmword [rsi + 0x548]
vmovups ymmword [rsi + 0x56b], ymm0
movzx eax, word [rsi + 0x568]
mov word [rsi + 0x58b], ax
movzx eax, byte [rsi + 0x56a]
mov byte [rsi + 0x58d], al
vmovups ymm0, ymmword [rsi + 0x525]
vmovups ymmword [rsi + 0x548], ymm0
movzx eax, word [rsi + 0x545]
mov word [rsi + 0x568], ax
movzx eax, byte [rsi + 0x547]
mov byte [rsi + 0x56a], al
vmovups ymm0, ymmword [rsi + 0x502]
vmovups ymmword [rsi + 0x525], ymm0
movzx eax, word [rsi + 0x522]
mov word [rsi + 0x545], ax
movzx eax, byte [rsi + 0x524]
mov byte [rsi + 0x547], al
vmovups ymm0, ymmword [rsi + 0x4df]
vmovups ymmword [rsi + 0x502], ymm0
movzx eax, word [rsi + 0x4ff]
mov word [rsi + 0x522], ax
movzx eax, byte [rsi + 0x501]
mov byte [rsi + 0x524], al
vmovups ymm0, ymmword [rsi + 0x4bc]
vmovups ymmword [rsi + 0x4df], ymm0
movzx eax, word [rsi + 0x4dc]
mov word [rsi + 0x4ff], ax
movzx eax, byte [rsi + 0x4de]
mov byte [rsi + 0x501], al
vmovups ymm0, ymmword [rsi + 0x499]
vmovups ymmword [rsi + 0x4bc], ymm0
movzx eax, word [rsi + 0x4b9]
mov word [rsi + 0x4dc], ax
movzx eax, byte [rsi + 0x4bb]
mov byte [rsi + 0x4de], al
vmovups ymm0, ymmword [rsi + 0x476]
vmovups ymmword [rsi + 0x499], ymm0
movzx eax, word [rsi + 0x496]
mov word [rsi + 0x4b9], ax
movzx eax, byte [rsi + 0x498]
mov byte [rsi + 0x4bb], al
vmovups ymm0, ymmword [rsi + 0x453]
vmovups ymmword [rsi + 0x476], ymm0
movzx eax, word [rsi + 0x473]
mov word [rsi + 0x496], ax
movzx eax, byte [rsi + 0x475]
mov byte [rsi + 0x498], al
vmovups ymm0, ymmword [rsi + 0x430]
vmovups ymmword [rsi + 0x453], ymm0
movzx eax, word [rsi + 0x450]
mov word [rsi + 0x473], ax
movzx eax, byte [rsi + 0x452]
mov byte [rsi + 0x475], al
vmovups ymm0, ymmword [rsi + 0x40d]
vmovups ymmword [rsi + 0x430], ymm0
movzx eax, word [rsi + 0x42d]
mov word [rsi + 0x450], ax
movzx eax, byte [rsi + 0x42f]
mov byte [rsi + 0x452], al
vmovups ymm0, ymmword [rsi + 0x3ea]
vmovups ymmword [rsi + 0x40d], ymm0
movzx eax, word [rsi + 0x40a]
mov word [rsi + 0x42d], ax
movzx eax, byte [rsi + 0x40c]
mov byte [rsi + 0x42f], al
vmovups ymm0, ymmword [rsi + 0x3c7]
vmovups ymmword [rsi + 0x3ea], ymm0
movzx eax, word [rsi + 0x3e7]
mov word [rsi + 0x40a], ax
movzx eax, byte [rsi + 0x3e9]
mov byte [rsi + 0x40c], al
vmovups ymm0, ymmword [rsi + 0x3a4]
vmovups ymmword [rsi + 0x3c7], ymm0
movzx eax, word [rsi + 0x3c4]
mov word [rsi + 0x3e7], ax
movzx eax, byte [rsi + 0x3c6]
mov byte [rsi + 0x3e9], al
vmovups ymm0, ymmword [rsi + 0x381]
vmovups ymmword [rsi + 0x3a4], ymm0
movzx eax, word [rsi + 0x3a1]
mov word [rsi + 0x3c4], ax
movzx eax, byte [rsi + 0x3a3]
mov byte [rsi + 0x3c6], al
vmovups ymm0, ymmword [rsi + 0x35e]
vmovups ymmword [rsi + 0x381], ymm0
movzx eax, word [rsi + 0x37e]
mov word [rsi + 0x3a1], ax
movzx eax, byte [rsi + 0x380]
mov byte [rsi + 0x3a3], al
vmovups ymm0, ymmword [rsi + 0x33b]
vmovups ymmword [rsi + 0x35e], ymm0
movzx eax, word [rsi + 0x35b]
mov word [rsi + 0x37e], ax
movzx eax, byte [rsi + 0x35d]
mov byte [rsi + 0x380], al
vmovups ymm0, ymmword [rsi + 0x318]
vmovups ymmword [rsi + 0x33b], ymm0
movzx eax, word [rsi + 0x338]
mov word [rsi + 0x35b], ax
movzx eax, byte [rsi + 0x33a]
mov byte [rsi + 0x35d], al
vmovups ymm0, ymmword [rsi + 0x2f5]
vmovups ymmword [rsi + 0x318], ymm0
movzx eax, word [rsi + 0x315]
mov word [rsi + 0x338], ax
movzx eax, byte [rsi + 0x317]
mov byte [rsi + 0x33a], al
vmovups ymm0, ymmword [rsi + 0x2d2]
vmovups ymmword [rsi + 0x2f5], ymm0
movzx eax, word [rsi + 0x2f2]
mov word [rsi + 0x315], ax
movzx eax, byte [rsi + 0x2f4]
mov byte [rsi + 0x317], al
vmovups ymm0, ymmword [rsi + 0x2af]
vmovups ymmword [rsi + 0x2d2], ymm0
movzx eax, word [rsi + 0x2cf]
mov word [rsi + 0x2f2], ax
movzx eax, byte [rsi + 0x2d1]
mov byte [rsi + 0x2f4], al
vmovups ymm0, ymmword [rsi + 0x28c]
vmovups ymmword [rsi + 0x2af], ymm0
movzx eax, word [rsi + 0x2ac]
mov word [rsi + 0x2cf], ax
movzx eax, byte [rsi + 0x2ae]
mov byte [rsi + 0x2d1], al
vmovups ymm0, ymmword [rsi + 0x269]
vmovups ymmword [rsi + 0x28c], ymm0
movzx eax, word [rsi + 0x289]
mov word [rsi + 0x2ac], ax
movzx eax, byte [rsi + 0x28b]
mov byte [rsi + 0x2ae], al
vmovups ymm0, ymmword [rsi + 0x246]
vmovups ymmword [rsi + 0x269], ymm0
movzx eax, word [rsi + 0x266]
mov word [rsi + 0x289], ax
movzx eax, byte [rsi + 0x268]
mov byte [rsi + 0x28b], al
vmovups ymm0, ymmword [rsi + 0x223]
vmovups ymmword [rsi + 0x246], ymm0
movzx eax, word [rsi + 0x243]
mov word [rsi + 0x266], ax
movzx eax, byte [rsi + 0x245]
mov byte [rsi + 0x268], al
vmovups ymm0, ymmword [rsi + 0x200]
vmovups ymmword [rsi + 0x223], ymm0
movzx eax, word [rsi + 0x220]
mov word [rsi + 0x243], ax
movzx eax, byte [rsi + 0x222]
mov byte [rsi + 0x245], al
vmovups ymm0, ymmword [rsi + 0x1dd]
vmovups ymmword [rsi + 0x200], ymm0
movzx eax, word [rsi + 0x1fd]
mov word [rsi + 0x220], ax
movzx eax, byte [rsi + 0x1ff]
mov byte [rsi + 0x222], al
vmovups ymm0, ymmword [rsi + 0x1ba]
vmovups ymmword [rsi + 0x1dd], ymm0
movzx eax, word [rsi + 0x1da]
mov word [rsi + 0x1fd], ax
movzx eax, byte [rsi + 0x1dc]
mov byte [rsi + 0x1ff], al
vmovups ymm0, ymmword [rsi + 0x197]
vmovups ymmword [rsi + 0x1ba], ymm0
movzx eax, word [rsi + 0x1b7]
mov word [rsi + 0x1da], ax
movzx eax, byte [rsi + 0x1b9]
mov byte [rsi + 0x1dc], al
vmovups ymm0, ymmword [rsi + 0x174]
vmovups ymmword [rsi + 0x197], ymm0
movzx eax, word [rsi + 0x194]
mov word [rsi + 0x1b7], ax
movzx eax, byte [rsi + 0x196]
mov byte [rsi + 0x1b9], al
vmovups ymm0, ymmword [rsi + 0x151]
vmovups ymmword [rsi + 0x174], ymm0
movzx eax, word [rsi + 0x171]
mov word [rsi + 0x194], ax
movzx eax, byte [rsi + 0x173]
mov byte [rsi + 0x196], al
vmovups ymm0, ymmword [rsi + 0x12e]
vmovups ymmword [rsi + 0x151], ymm0
movzx eax, word [rsi + 0x14e]
mov word [rsi + 0x171], ax
movzx eax, byte [rsi + 0x150]
mov byte [rsi + 0x173], al
vmovups ymm0, ymmword [rsi + 0x10b]
vmovups ymmword [rsi + 0x12e], ymm0
movzx eax, word [rsi + 0x12b]
mov word [rsi + 0x14e], ax
movzx eax, byte [rsi + 0x12d]
mov byte [rsi + 0x150], al
lea r12, [rsi + 0xe8]
vmovups ymm0, ymmword [r12]
vmovups ymmword [rsi + 0x10b], ymm0
movzx eax, word [r12 + 0x20]
mov word [rsi + 0x12b], ax
movzx eax, byte [r12 + 0x22]
mov byte [rsi + 0x12d], al
mov edi, ebx
nop dword [rax]
nop word [rax + rax]
movzx r15d, byte [rsi + 0x16]
movzx r11d, word [rsi + 0x14]
sub r11w, 0x11
movzx r10d, di
add r10w, word [rsi + 0x12]
cmp r15b, 0x10
jae 0x14003938d
movzx r8d, r11w
movzx r9d, r10w
lea rdx, [0x14026dc50]
nop dword [rax]
mov ecx, r9d
shr rcx, 1
and ecx, 0x4000
mov eax, r8d
and eax, 0x8000
or rcx, rax
shr rcx, 0xe
mov rdx, qword [rdx + rcx*8 + 0x10]
test rdx, rdx
je 0x14003938d
add r9d, r9d
add r8d, r8d
cmp byte [rdx + 8], bpl
je 0x140039340
mov rcx, qword [rdx + r15*8 + 0x40]
test rcx, rcx
je 0x14003938d
and r10d, 7
and r11d, 7
lea rax, [r11 + r10*8]
mov r11, qword [rcx + rax*8]
jmp 0x140039390
mov r11, rbp
mov eax, edi
neg eax
cmovs eax, edi
cmp eax, 0x11
jg 0x1400393e2
test r11, r11
je 0x1400393dc
mov rax, qword [r11]
mov r10, qword [rax]
mov rax, qword [rsi + 8]
movsxd r8, dword [rax + 4]
add r8, 8
add r8, rsi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x30
xor edx, edx
mov r9d, 1
mov rcx, r11
vzeroupper
call r10
test eax, eax
jne 0x1400393dc
mov al, 1
jmp 0x1400393de
xor al, al
mov byte [r12], al
inc edi
inc r12
cmp edi, 0x11
jle 0x140039310
jmp 0x140039aa0
jae 0x140039aa0
vmovups ymm0, ymmword [rsi + 0x10b]
vmovups ymmword [rsi + 0xe8], ymm0
movzx eax, word [rsi + 0x12b]
mov word [rsi + 0x108], ax
movzx eax, byte [rsi + 0x12d]
mov byte [rsi + 0x10a], al
vmovups ymm0, ymmword [rsi + 0x12e]
vmovups ymmword [rsi + 0x10b], ymm0
movzx eax, word [rsi + 0x14e]
mov word [rsi + 0x12b], ax
movzx eax, byte [rsi + 0x150]
mov byte [rsi + 0x12d], al
vmovups ymm0, ymmword [rsi + 0x151]
vmovups ymmword [rsi + 0x12e], ymm0
movzx eax, word [rsi + 0x171]
mov word [rsi + 0x14e], ax
movzx eax, byte [rsi + 0x173]
mov byte [rsi + 0x150], al
vmovups ymm0, ymmword [rsi + 0x174]
vmovups ymmword [rsi + 0x151], ymm0
movzx eax, word [rsi + 0x194]
mov word [rsi + 0x171], ax
movzx eax, byte [rsi + 0x196]
mov byte [rsi + 0x173], al
vmovups ymm0, ymmword [rsi + 0x197]
vmovups ymmword [rsi + 0x174], ymm0
movzx eax, word [rsi + 0x1b7]
mov word [rsi + 0x194], ax
movzx eax, byte [rsi + 0x1b9]
mov byte [rsi + 0x196], al
vmovups ymm0, ymmword [rsi + 0x1ba]
vmovups ymmword [rsi + 0x197], ymm0
movzx eax, word [rsi + 0x1da]
mov word [rsi + 0x1b7], ax
movzx eax, byte [rsi + 0x1dc]
mov byte [rsi + 0x1b9], al
vmovups ymm0, ymmword [rsi + 0x1dd]
vmovups ymmword [rsi + 0x1ba], ymm0
movzx eax, word [rsi + 0x1fd]
mov word [rsi + 0x1da], ax
movzx eax, byte [rsi + 0x1ff]
mov byte [rsi + 0x1dc], al
vmovups ymm0, ymmword [rsi + 0x200]
vmovups ymmword [rsi + 0x1dd], ymm0
movzx eax, word [rsi + 0x220]
mov word [rsi + 0x1fd], ax
movzx eax, byte [rsi + 0x222]
mov byte [rsi + 0x1ff], al
vmovups ymm0, ymmword [rsi + 0x223]
vmovups ymmword [rsi + 0x200], ymm0
movzx eax, word [rsi + 0x243]
mov word [rsi + 0x220], ax
movzx eax, byte [rsi + 0x245]
mov byte [rsi + 0x222], al
vmovups ymm0, ymmword [rsi + 0x246]
vmovups ymmword [rsi + 0x223], ymm0
movzx eax, word [rsi + 0x266]
mov word [rsi + 0x243], ax
movzx eax, byte [rsi + 0x268]
mov byte [rsi + 0x245], al
vmovups ymm0, ymmword [rsi + 0x269]
vmovups ymmword [rsi + 0x246], ymm0
movzx eax, word [rsi + 0x289]
mov word [rsi + 0x266], ax
movzx eax, byte [rsi + 0x28b]
mov byte [rsi + 0x268], al
vmovups ymm0, ymmword [rsi + 0x28c]
vmovups ymmword [rsi + 0x269], ymm0
movzx eax, word [rsi + 0x2ac]
mov word [rsi + 0x289], ax
movzx eax, byte [rsi + 0x2ae]
mov byte [rsi + 0x28b], al
vmovups ymm0, ymmword [rsi + 0x2af]
vmovups ymmword [rsi + 0x28c], ymm0
movzx eax, word [rsi + 0x2cf]
mov word [rsi + 0x2ac], ax
movzx eax, byte [rsi + 0x2d1]
mov byte [rsi + 0x2ae], al
vmovups ymm0, ymmword [rsi + 0x2d2]
vmovups ymmword [rsi + 0x2af], ymm0
movzx eax, word [rsi + 0x2f2]
mov word [rsi + 0x2cf], ax
movzx eax, byte [rsi + 0x2f4]
mov byte [rsi + 0x2d1], al
vmovups ymm0, ymmword [rsi + 0x2f5]
vmovups ymmword [rsi + 0x2d2], ymm0
movzx eax, word [rsi + 0x315]
mov word [rsi + 0x2f2], ax
movzx eax, byte [rsi + 0x317]
mov byte [rsi + 0x2f4], al
vmovups ymm0, ymmword [rsi + 0x318]
vmovups ymmword [rsi + 0x2f5], ymm0
movzx eax, word [rsi + 0x338]
mov word [rsi + 0x315], ax
movzx eax, byte [rsi + 0x33a]
mov byte [rsi + 0x317], al
vmovups ymm0, ymmword [rsi + 0x33b]
vmovups ymmword [rsi + 0x318], ymm0
movzx eax, word [rsi + 0x35b]
mov word [rsi + 0x338], ax
movzx eax, byte [rsi + 0x35d]
mov byte [rsi + 0x33a], al
vmovups ymm0, ymmword [rsi + 0x35e]
vmovups ymmword [rsi + 0x33b], ymm0
movzx eax, word [rsi + 0x37e]
mov word [rsi + 0x35b], ax
movzx eax, byte [rsi + 0x380]
mov byte [rsi + 0x35d], al
vmovups ymm0, ymmword [rsi + 0x381]
vmovups ymmword [rsi + 0x35e], ymm0
movzx eax, word [rsi + 0x3a1]
mov word [rsi + 0x37e], ax
movzx eax, byte [rsi + 0x3a3]
mov byte [rsi + 0x380], al
vmovups ymm0, ymmword [rsi + 0x3a4]
vmovups ymmword [rsi + 0x381], ymm0
movzx eax, word [rsi + 0x3c4]
mov word [rsi + 0x3a1], ax
movzx eax, byte [rsi + 0x3c6]
mov byte [rsi + 0x3a3], al
vmovups ymm0, ymmword [rsi + 0x3c7]
vmovups ymmword [rsi + 0x3a4], ymm0
movzx eax, word [rsi + 0x3e7]
mov word [rsi + 0x3c4], ax
movzx eax, byte [rsi + 0x3e9]
mov byte [rsi + 0x3c6], al
vmovups ymm0, ymmword [rsi + 0x3ea]
vmovups ymmword [rsi + 0x3c7], ymm0
movzx eax, word [rsi + 0x40a]
mov word [rsi + 0x3e7], ax
movzx eax, byte [rsi + 0x40c]
mov byte [rsi + 0x3e9], al
vmovups ymm0, ymmword [rsi + 0x40d]
vmovups ymmword [rsi + 0x3ea], ymm0
movzx eax, word [rsi + 0x42d]
mov word [rsi + 0x40a], ax
movzx eax, byte [rsi + 0x42f]
mov byte [rsi + 0x40c], al
vmovups ymm0, ymmword [rsi + 0x430]
vmovups ymmword [rsi + 0x40d], ymm0
movzx eax, word [rsi + 0x450]
mov word [rsi + 0x42d], ax
movzx eax, byte [rsi + 0x452]
mov byte [rsi + 0x42f], al
vmovups ymm0, ymmword [rsi + 0x453]
vmovups ymmword [rsi + 0x430], ymm0
movzx eax, word [rsi + 0x473]
mov word [rsi + 0x450], ax
movzx eax, byte [rsi + 0x475]
mov byte [rsi + 0x452], al
vmovups ymm0, ymmword [rsi + 0x476]
vmovups ymmword [rsi + 0x453], ymm0
movzx eax, word [rsi + 0x496]
mov word [rsi + 0x473], ax
movzx eax, byte [rsi + 0x498]
mov byte [rsi + 0x475], al
vmovups ymm0, ymmword [rsi + 0x499]
vmovups ymmword [rsi + 0x476], ymm0
movzx eax, word [rsi + 0x4b9]
mov word [rsi + 0x496], ax
movzx eax, byte [rsi + 0x4bb]
mov byte [rsi + 0x498], al
vmovups ymm0, ymmword [rsi + 0x4bc]
vmovups ymmword [rsi + 0x499], ymm0
movzx eax, word [rsi + 0x4dc]
mov word [rsi + 0x4b9], ax
movzx eax, byte [rsi + 0x4de]
mov byte [rsi + 0x4bb], al
vmovups ymm0, ymmword [rsi + 0x4df]
vmovups ymmword [rsi + 0x4bc], ymm0
movzx eax, word [rsi + 0x4ff]
mov word [rsi + 0x4dc], ax
movzx eax, byte [rsi + 0x501]
mov byte [rsi + 0x4de], al
vmovups ymm0, ymmword [rsi + 0x502]
vmovups ymmword [rsi + 0x4df], ymm0
movzx eax, word [rsi + 0x522]
mov word [rsi + 0x4ff], ax
movzx eax, byte [rsi + 0x524]
mov byte [rsi + 0x501], al
vmovups ymm0, ymmword [rsi + 0x525]
vmovups ymmword [rsi + 0x502], ymm0
movzx eax, word [rsi + 0x545]
mov word [rsi + 0x522], ax
movzx eax, byte [rsi + 0x547]
mov byte [rsi + 0x524], al
vmovups ymm0, ymmword [rsi + 0x548]
vmovups ymmword [rsi + 0x525], ymm0
movzx eax, word [rsi + 0x568]
mov word [rsi + 0x545], ax
movzx eax, byte [rsi + 0x56a]
mov byte [rsi + 0x547], al
vmovups ymm0, ymmword [rsi + 0x56b]
vmovups ymmword [rsi + 0x548], ymm0
movzx eax, word [rsi + 0x58b]
mov word [rsi + 0x568], ax
movzx eax, byte [rsi + 0x58d]
mov byte [rsi + 0x56a], al
vmovups ymm0, ymmword [rsi + 0x58e]
vmovups ymmword [rsi + 0x56b], ymm0
movzx eax, word [rsi + 0x5ae]
mov word [rsi + 0x58b], ax
movzx eax, byte [rsi + 0x5b0]
mov byte [rsi + 0x58d], al
mov edi, ebx
lea r12, [rsi + 0x58e]
nop word [rax + rax]
movzx r15d, byte [rsi + 0x16]
movzx r11d, word [rsi + 0x14]
add r11w, 0x11
movzx r10d, di
add r10w, word [rsi + 0x12]
cmp r15b, 0x10
jae 0x140039a3d
movzx r8d, r11w
movzx r9d, r10w
lea rdx, [0x14026dc50]
nop dword [rax]
mov ecx, r9d
shr rcx, 1
and ecx, 0x4000
mov eax, r8d
and eax, 0x8000
or rcx, rax
shr rcx, 0xe
mov rdx, qword [rdx + rcx*8 + 0x10]
test rdx, rdx
je 0x140039a3d
add r9d, r9d
add r8d, r8d
cmp byte [rdx + 8], bpl
je 0x1400399f0
mov rcx, qword [rdx + r15*8 + 0x40]
test rcx, rcx
je 0x140039a3d
and r10d, 7
and r11d, 7
lea rax, [r11 + r10*8]
mov r11, qword [rcx + rax*8]
jmp 0x140039a40
mov r11, rbp
mov eax, edi
neg eax
cmovs eax, edi
cmp eax, 0x11
jg 0x140039a92
test r11, r11
je 0x140039a8c
mov rax, qword [r11]
mov r10, qword [rax]
mov rax, qword [rsi + 8]
movsxd r8, dword [rax + 4]
add r8, 8
add r8, rsi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x30
xor edx, edx
mov r9d, 1
mov rcx, r11
vzeroupper
call r10
test eax, eax
jne 0x140039a8c
mov al, 1
jmp 0x140039a8e
xor al, al
mov byte [r12], al
inc edi
inc r12
cmp edi, 0x11
jle 0x1400399c0
movzx eax, word [r13]
cmp ax, word [r14]
jae 0x140039cf4
mov edx, ebp
mov r8d, 0x22
movzx eax, word [r14 + 2]
movzx ecx, word [r13 + 2]
sub ecx, eax
mov eax, ecx
neg eax
cmovs eax, ecx
test eax, eax
jns 0x140039ad4
lea r8d, [rax + 0x22]
jmp 0x140039ad7
cmovg edx, eax
movsxd r9, edx
movsxd rdx, r8d
cmp r9, rdx
jg 0x140039bfa
imul rcx, r9, 0x23
add rcx, 0xea
add rcx, rsi
sub rdx, r9
inc rdx
nop word [rax + rax]
movzx eax, byte [rcx - 1]
mov byte [rcx - 2], al
movzx eax, byte [rcx]
mov byte [rcx - 1], al
movzx eax, byte [rcx + 1]
mov byte [rcx], al
movzx eax, byte [rcx + 2]
mov byte [rcx + 1], al
movzx eax, byte [rcx + 3]
mov byte [rcx + 2], al
movzx eax, byte [rcx + 4]
mov byte [rcx + 3], al
movzx eax, byte [rcx + 5]
mov byte [rcx + 4], al
movzx eax, byte [rcx + 6]
mov byte [rcx + 5], al
movzx eax, byte [rcx + 7]
mov byte [rcx + 6], al
movzx eax, byte [rcx + 8]
mov byte [rcx + 7], al
movzx eax, byte [rcx + 9]
mov byte [rcx + 8], al
movzx eax, byte [rcx + 0xa]
mov byte [rcx + 9], al
movzx eax, byte [rcx + 0xb]
mov byte [rcx + 0xa], al
movzx eax, byte [rcx + 0xc]
mov byte [rcx + 0xb], al
movzx eax, byte [rcx + 0xd]
mov byte [rcx + 0xc], al
movzx eax, byte [rcx + 0xe]
mov byte [rcx + 0xd], al
movzx eax, byte [rcx + 0xf]
mov byte [rcx + 0xe], al
movzx eax, byte [rcx + 0x10]
mov byte [rcx + 0xf], al
movzx eax, byte [rcx + 0x11]
mov byte [rcx + 0x10], al
movzx eax, byte [rcx + 0x12]
mov byte [rcx + 0x11], al
movzx eax, byte [rcx + 0x13]
mov byte [rcx + 0x12], al
movzx eax, byte [rcx + 0x14]
mov byte [rcx + 0x13], al
movzx eax, byte [rcx + 0x15]
mov byte [rcx + 0x14], al
movzx eax, byte [rcx + 0x16]
mov byte [rcx + 0x15], al
movzx eax, byte [rcx + 0x17]
mov byte [rcx + 0x16], al
movzx eax, byte [rcx + 0x18]
mov byte [rcx + 0x17], al
movzx eax, byte [rcx + 0x19]
mov byte [rcx + 0x18], al
movzx eax, byte [rcx + 0x1a]
mov byte [rcx + 0x19], al
movzx eax, byte [rcx + 0x1b]
mov byte [rcx + 0x1a], al
movzx eax, byte [rcx + 0x1c]
mov byte [rcx + 0x1b], al
movzx eax, byte [rcx + 0x1d]
mov byte [rcx + 0x1c], al
movzx eax, byte [rcx + 0x1e]
mov byte [rcx + 0x1d], al
movzx eax, byte [rcx + 0x1f]
mov byte [rcx + 0x1e], al
movzx eax, byte [rcx + 0x20]
mov byte [rcx + 0x1f], al
lea rcx, [rcx + 0x23]
sub rdx, 1
jne 0x140039b00
lea rdi, [rsi + 0x10a]
lea r12, [0x14026dc50]
nop dword [rax + rax]
movzx r15d, byte [rsi + 0x16]
movzx r11d, bx
add r11w, word [rsi + 0x14]
movzx r10d, word [rsi + 0x12]
add r10w, 0x11
cmp r15b, 0x10
jae 0x140039c8d
movzx r8d, r11w
movzx r9d, r10w
mov rdx, r12
nop dword [rax]
mov ecx, r9d
shr rcx, 1
and ecx, 0x4000
mov eax, r8d
and eax, 0x8000
or rcx, rax
shr rcx, 0xe
mov rdx, qword [rdx + rcx*8 + 0x10]
test rdx, rdx
je 0x140039c8d
add r9d, r9d
add r8d, r8d
cmp byte [rdx + 8], bpl
je 0x140039c40
mov rcx, qword [rdx + r15*8 + 0x40]
test rcx, rcx
je 0x140039c8d
and r10d, 7
and r11d, 7
lea rax, [r11 + r10*8]
mov r11, qword [rcx + rax*8]
jmp 0x140039c90
mov r11, rbp
mov eax, ebx
neg eax
cmovs eax, ebx
cmp eax, 0x11
jg 0x140039ce0
test r11, r11
je 0x140039cdc
mov rax, qword [r11]
mov r10, qword [rax]
mov rax, qword [rsi + 8]
movsxd r8, dword [rax + 4]
add r8, 8
add r8, rsi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x30
xor edx, edx
mov r9d, 1
mov rcx, r11
vzeroupper
call r10
test eax, eax
jne 0x140039cdc
mov al, 1
jmp 0x140039cde
xor al, al
mov byte [rdi], al
inc ebx
add rdi, 0x23
cmp ebx, 0x11
jle 0x140039c10
jmp 0x140039f3f
jbe 0x140039f3f
mov edx, ebp
mov r8d, 0x22
movzx eax, word [r14 + 2]
movzx ecx, word [r13 + 2]
sub ecx, eax
mov eax, ecx
neg eax
cmovs eax, ecx
test eax, eax
jns 0x140039d1f
lea r8d, [rax + 0x22]
jmp 0x140039d22
cmovg edx, eax
movsxd rcx, edx
movsxd rdx, r8d
cmp rcx, rdx
jg 0x140039e4a
imul rax, rcx, 0x23
add rax, 0x109
add rax, rsi
sub rdx, rcx
inc rdx
nop dword [rax]
nop dword [rax + rax]
movzx ecx, byte [rax]
mov byte [rax + 1], cl
movzx ecx, byte [rax - 1]
mov byte [rax], cl
movzx ecx, byte [rax - 2]
mov byte [rax - 1], cl
movzx ecx, byte [rax - 3]
mov byte [rax - 2], cl
movzx ecx, byte [rax - 4]
mov byte [rax - 3], cl
movzx ecx, byte [rax - 5]
mov byte [rax - 4], cl
movzx ecx, byte [rax - 6]
mov byte [rax - 5], cl
movzx ecx, byte [rax - 7]
mov byte [rax - 6], cl
movzx ecx, byte [rax - 8]
mov byte [rax - 7], cl
movzx ecx, byte [rax - 9]
mov byte [rax - 8], cl
movzx ecx, byte [rax - 0xa]
mov byte [rax - 9], cl
movzx ecx, byte [rax - 0xb]
mov byte [rax - 0xa], cl
movzx ecx, byte [rax - 0xc]
mov byte [rax - 0xb], cl
movzx ecx, byte [rax - 0xd]
mov byte [rax - 0xc], cl
movzx ecx, byte [rax - 0xe]
mov byte [rax - 0xd], cl
movzx ecx, byte [rax - 0xf]
mov byte [rax - 0xe], cl
movzx ecx, byte [rax - 0x10]
mov byte [rax - 0xf], cl
movzx ecx, byte [rax - 0x11]
mov byte [rax - 0x10], cl
movzx ecx, byte [rax - 0x12]
mov byte [rax - 0x11], cl
movzx ecx, byte [rax - 0x13]
mov byte [rax - 0x12], cl
movzx ecx, byte [rax - 0x14]
mov byte [rax - 0x13], cl
movzx ecx, byte [rax - 0x15]
mov byte [rax - 0x14], cl
movzx ecx, byte [rax - 0x16]
mov byte [rax - 0x15], cl
movzx ecx, byte [rax - 0x17]
mov byte [rax - 0x16], cl
movzx ecx, byte [rax - 0x18]
mov byte [rax - 0x17], cl
movzx ecx, byte [rax - 0x19]
mov byte [rax - 0x18], cl
movzx ecx, byte [rax - 0x1a]
mov byte [rax - 0x19], cl
movzx ecx, byte [rax - 0x1b]
mov byte [rax - 0x1a], cl
movzx ecx, byte [rax - 0x1c]
mov byte [rax - 0x1b], cl
movzx ecx, byte [rax - 0x1d]
mov byte [rax - 0x1c], cl
movzx ecx, byte [rax - 0x1e]
mov byte [rax - 0x1d], cl
movzx ecx, byte [rax - 0x1f]
mov byte [rax - 0x1e], cl
movzx ecx, byte [rax - 0x20]
mov byte [rax - 0x1f], cl
movzx ecx, byte [rax - 0x21]
mov byte [rax - 0x20], cl
lea rax, [rax + 0x23]
sub rdx, 1
jne 0x140039d50
lea rdi, [rsi + 0xe8]
lea r12, [0x14026dc50]
nop dword [rax + rax]
movzx r15d, byte [rsi + 0x16]
movzx r11d, bx
add r11w, word [rsi + 0x14]
movzx r10d, word [rsi + 0x12]
sub r10w, 0x11
cmp r15b, 0x10
jae 0x140039edd
movzx r8d, r11w
movzx r9d, r10w
mov rdx, r12
nop dword [rax]
mov ecx, r9d
shr rcx, 1
and ecx, 0x4000
mov eax, r8d
and eax, 0x8000
or rcx, rax
shr rcx, 0xe
mov rdx, qword [rdx + rcx*8 + 0x10]
test rdx, rdx
je 0x140039edd
add r9d, r9d
add r8d, r8d
cmp byte [rdx + 8], bpl
je 0x140039e90
mov rcx, qword [rdx + r15*8 + 0x40]
test rcx, rcx
je 0x140039edd
and r10d, 7
and r11d, 7
lea rax, [r11 + r10*8]
mov r11, qword [rcx + rax*8]
jmp 0x140039ee0
mov r11, rbp
mov eax, ebx
neg eax
cmovs eax, ebx
cmp eax, 0x11
jg 0x140039f30
test r11, r11
je 0x140039f2c
mov rax, qword [r11]
mov r10, qword [rax]
mov rax, qword [rsi + 8]
movsxd r8, dword [rax + 4]
add r8, 8
add r8, rsi
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], 0x30
xor edx, edx
mov r9d, 1
mov rcx, r11
vzeroupper
call r10
test eax, eax
jne 0x140039f2c
mov al, 1
jmp 0x140039f2e
xor al, al
mov byte [rdi], al
inc ebx
add rdi, 0x23
cmp ebx, 0x11
jle 0x140039e60
movzx eax, byte [rsi + 0x16]
mov r15, qword [rsp + 0x30]
cmp byte [r13 + 4], al
jne 0x140039f74
movzx eax, word [rsi + 0x12]
movzx r8d, word [r13]
sub r8d, eax
movzx eax, word [rsi + 0x14]
movzx r9d, word [r13 + 2]
sub r9d, eax
mov rdx, r15
mov rcx, rsi
vzeroupper
call fcn.1400386b0
mov r12d, 4
mov rax, qword [rsi + 0x78]
mov rdi, qword [rsp + 0x40]
cmp rdi, rax
je 0x140039f9a
cmp rdi, rsi
jne 0x14003a03b
test rax, rax
je 0x14003a03b
cmp byte [rsi + 0x5b8], bpl
je 0x140039fae
mov rcx, rsi
vzeroupper
call fcn.14003d010
movzx eax, byte [r13 + 4]
cmp byte [r14 + 4], al
jne 0x140039fd1
mov rax, qword [rsi]
mov rdx, qword [rsi + 0x78]
add rdx, 0x12
mov rcx, rsi
vzeroupper
call qword [rax + 0x60]
test al, al
jne 0x14003a03b
mov rbx, qword [rsi + 0x78]
cmp qword [rsi + 0x68], rbx
jne 0x140039ffa
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
vzeroupper
call qword [rax + 0xf8]
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x248]
cmp qword [rsi + 0x78], rbx
jne 0x14003a01f
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
vzeroupper
call qword [rax + 0xe0]
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x250]
mov rax, qword [rsi]
mov rcx, rsi
vzeroupper
call qword [rax + reloc.WS2_32.dll_htonl]
test rax, rax
je 0x14003a03b
mov r8, rbx
mov rdx, rax
call fcn.140112b50
mov rdx, qword [rsi + 0x68]
cmp rdi, rdx
je 0x14003a056
cmp rdi, rsi
jne 0x14003a306
test rdx, rdx
je 0x14003a306
movzx eax, byte [r13 + 4]
cmp byte [r14 + 4], al
jne 0x14003a2a8
mov rax, qword [rsi]
add rdx, 0x12
mov rcx, rsi
vzeroupper
call qword [rax + 0x60]
test al, al
je 0x14003a2a8
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x280]
test al, al
je 0x14003a1ed
mov eax, dword [rsi + 0x94]
lea rcx, vtable.std::_Func_impl_no_alloc_class_std::_Binder_struct_std::_Unforced__void_____thiscall_Game::__unsigned_int___class_Game____ptr64__unsigned_int___void___.0
mov qword [rsp + 0x50], rcx
lea rcx, [0x14005a550]
mov qword [rsp + 0x58], rcx
mov dword [rsp + 0x60], eax
lea rax, [0x14026db60]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x88], rax
mov ecx, 0x50
call fcn.1401d19cc
mov rbx, rax
mov qword [rsp + 0x40], rax
lea rax, vtable.Task.0
mov qword [rbx], rax
mov qword [rbx + 8], rbp
mov qword [rbx + 0x48], rbp
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14003a1c6
lea rax, [rsp + 0x50]
cmp rcx, rax
jne 0x14003a1ba
mov rax, qword [rcx]
lea rdx, [rbx + 0x10]
call qword [rax + reloc.WS2_32.dll_htonl]
mov qword [rbx + 0x48], rax
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14003a1c6
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
jmp 0x14003a1be
mov rcx, rsi
call fcn.140038590
jmp 0x140039f74
cmp byte [rcx + 0x5b2], bpl
je 0x140039f7a
movzx eax, byte [rcx + 0x16]
cmp byte [r9 + 4], al
jne 0x14003a184
movzx r8d, word [r9]
movzx eax, word [rcx + 0x12]
sub r8d, eax
movzx r9d, word [r9 + 2]
movzx eax, word [rcx + 0x14]
sub r9d, eax
mov rdx, r10
call fcn.1400386b0
movzx eax, byte [rsi + 0x16]
cmp byte [r13 + 4], al
jne 0x140039f7a
movzx eax, word [rsi + 0x12]
movzx r8d, word [r13]
sub r8d, eax
movzx r9d, word [r13 + 2]
movzx eax, word [rsi + 0x14]
sub r9d, eax
mov rdx, r15
mov rcx, rsi
call fcn.1400386b0
jmp 0x140039f7a
mov qword [rbx + 0x48], rcx
mov qword [rsp + 0x88], rbp
mov rdx, rbx
call fcn.14018a270
nop
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x14003a1ed
mov rax, qword [rcx]
lea rdx, [rsp + 0x50]
cmp rcx, rdx
setne dl
call qword [rax + 0x20]
mov ecx, dword [r15 + 0x20]
mov eax, ecx
shr eax, 7
mov r9d, 2
test al, 1
je 0x14003a204
mov ecx, ebp
jmp 0x14003a221
mov eax, ecx
shr eax, 8
test al, 1
je 0x14003a214
mov ecx, 1
jmp 0x14003a221
shr ecx, 0xa
test cl, 1
mov ecx, r12d
cmovne ecx, r9d
mov rax, qword [rsp + 0x38]
mov edx, dword [rax + 0x20]
mov eax, edx
shr eax, 7
test al, 1
je 0x14003a236
mov eax, ebp
jmp 0x14003a253
mov eax, edx
shr eax, 8
test al, 1
je 0x14003a246
mov eax, 1
jmp 0x14003a253
shr edx, 0xa
test dl, 1
mov eax, r12d
cmovne eax, r9d
cmp eax, ecx
je 0x14003a306
mov rax, qword [rsi]
mov r8, qword [rax + 0x1f0]
mov rax, qword [rsi + 0x68]
mov rcx, qword [rax + 0x60]
mov edx, dword [rcx + 0x20]
mov eax, edx
shr eax, 7
test al, 1
jne 0x14003a29e
mov eax, edx
shr eax, 8
test al, 1
je 0x14003a291
mov ebp, 1
mov edx, ebp
mov rcx, rsi
call r8
jmp 0x14003a306
shr edx, 0xa
test dl, 1
cmovne r12d, r9d
mov ebp, r12d
mov edx, ebp
mov rcx, rsi
call r8
jmp 0x14003a306
mov rbx, qword [rsi + 0x68]
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
vzeroupper
call qword [rax + 0xf8]
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x248]
cmp qword [rsi + 0x78], rbx
jne 0x14003a2ed
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [rax + 0xe0]
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x250]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + reloc.WS2_32.dll_htonl]
test rax, rax
je 0x14003a306
mov r8, rbx
mov rdx, rax
call fcn.140112b50
vzeroupper
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.1401d1730
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret