Function at 0x180141394
Capabilities:
Enumerate pe sections

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x288]
sub rsp, 0x360
mov rax, qword [0x180200ce8]
xor rax, rsp
mov qword [rbp + 0x250], rax
mov r12d, dword [rcx + 0x7c]
lea rbx, [rcx + 0x934c]
mov r13, qword [rcx + 0x48]
add r12d, 2
mov dword [rsp + 0x70], r12d
xor r15d, r15d
movsxd rsi, r12d
mov r14, rcx
mov qword [rsp + 0x30], rcx
mov edi, 6
mov qword [rsp + 0x58], r13
test r12d, r12d
jle 0x18014140d
mov r8, rsi
mov dl, recv
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
add rbx, 0x102
sub rdi, 1
jne 0x1801413fb
mov ecx, dword [r14 + 0x29c]
test ecx, ecx
jg 0x180141436
mov ecx, 0xbb9
call sym.tc0509.dll_bz_internal_error
mov ecx, dword [r14 + 0x29c]
cmp ecx, 0xc8
jge 0x180141445
mov ebx, 2
jmp 0x180141472
cmp ecx, 0x258
jge 0x180141454
mov ebx, 3
jmp 0x180141472
cmp ecx, 0x4b0
jge 0x180141463
mov ebx, 4
jmp 0x180141472
cmp ecx, 0x960
mov ebx, r15d
setge bl
add ebx, 5
mov edi, ebx
mov r10d, ebx
imul rax, rdi, 0x102
mov dword [rsp + 0x3c], ebx
mov r8d, r15d
mov r13d, ebx
mov r11, r15
mov qword [rbp + 0x238], rax
mov ebx, r15d
mov qword [rbp - 0x80], rdi
mov eax, ecx
mov r9d, r15d
cdq
idiv r10d
dec r8d
lea rdx, [r11 - 1]
mov dword [rsp + 0x6c], eax
test eax, eax
jle 0x1801414e0
lea eax, [r12 - 1]
mov dword [rsp + 0x50], eax
lea rax, [rdx + 0xa8]
lea rax, [r14 + rax*4]
cmp r8d, dword [rsp + 0x50]
jge 0x1801414e0
add rax, 4
inc r8d
inc rdx
add r9d, dword [rax]
cmp r9d, dword [rsp + 0x6c]
jl 0x1801414c5
cmp rdx, r11
jle 0x180141513
cmp r13, rdi
je 0x180141513
cmp r10d, 1
je 0x180141513
mov eax, ebx
and eax, 0x80000001
jge 0x180141500
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
jne 0x180141513
sub r9d, dword [r14 + rdx*4 + 0x2a0]
dec r8d
dec rdx
mov rax, r15
test rsi, rsi
jle 0x180141559
mov rdi, qword [rbp + 0x238]
mov r12d, dword [rsp + 0x70]
add rdi, 0x924a
add rdi, r14
mov r14, rdi
cmp rax, r11
jl 0x180141541
mov dil, r15b
cmp rax, rdx
jle 0x180141544
mov dil, recv
mov byte [rax + r14], dil
inc rax
cmp rax, rsi
jl 0x180141534
mov r14, qword [rsp + 0x30]
mov rdi, qword [rbp - 0x80]
sub qword [rbp + 0x238], 0x102
lea r11, [rdx + 1]
dec r10d
inc ebx
dec r13
sub ecx, r9d
inc r8d
test r10d, r10d
jg 0x180141499
mov r13, qword [rsp + 0x58]
mov r10d, 1
mov ebx, dword [rsp + 0x3c]
mov dword [rsp + 0x50], r15d
jmp 0x180141598
movsxd rsi, r12d
mov r8, r15
lea rdx, [r14 + 0xb188]
mov rcx, r15
test rsi, rsi
jle 0x1801415bc
mov rax, rdx
add rcx, r10
mov dword [rax], r15d
lea rax, [rax + 4]
cmp rcx, rsi
jl 0x1801415ad
add r8, r10
add rdx, 0x408
cmp r8, rdi
jl 0x1801415a2
cmp ebx, 6
jne 0x18014163d
test rsi, rsi
jle 0x18014163d
mov r9, 0xffffffffffff6cb4
lea rdx, [r14 + 0x934c]
sub r9, r14
lea r8, [r14 + 0xc9bc]
movzx eax, byte [rdx]
movzx ecx, byte [rdx + 0x102]
shl ecx, 0x10
or ecx, eax
mov dword [r8 - 4], ecx
movzx eax, byte [rdx + 0x204]
movzx ecx, byte [rdx + 0x306]
shl ecx, 0x10
or ecx, eax
mov dword [r8], ecx
lea r8, [r8 + 0x10]
movzx eax, byte [rdx + 0x408]
movzx ecx, byte [rdx + 0x50a]
add rdx, r10
shl ecx, 0x10
or ecx, eax
mov dword [r8 - 0xc], ecx
lea rax, [r9 + rdx]
cmp rax, rsi
jl 0x1801415ed
mov ecx, dword [r14 + 0x29c]
mov edx, r15d
mov dword [rsp + 0x6c], edx
mov esi, r15d
mov dword [rsp + 0x68], r15d
test ecx, ecx
jle 0x18014296d
lea rax, [r14 + 0x6a8]
mov qword [rsp + 0x40], rax
lea eax, [rdx + 0x31]
cmp eax, ecx
lea r8d, [rcx - 1]
cmovl r8d, eax
mov rax, r15
mov dword [rbp + 0x238], r8d
cmp rax, 6
jae 0x180143324
mov word [rbp + rax*2 + 0x240], r15w
add rax, r10
cmp rax, rdi
jl 0x18014167e
cmp ebx, 6
jne 0x1801424f5
mov eax, r8d
sub eax, edx
cmp eax, 0x31
jne 0x1801424f5
movsxd rax, edx
movzx ecx, word [r13 + rax*2 + 2]
mov qword [rsp + 0x60], rcx
movzx ecx, word [r13 + rax*2 + 4]
mov qword [rsp + 0x78], rcx
movzx ecx, word [r13 + rax*2 + 6]
mov qword [rbp + 0x1b8], rcx
movzx ecx, word [r13 + rax*2 + 8]
mov qword [rbp + 0x1b0], rcx
movzx ecx, word [r13 + rax*2 + 0xa]
mov qword [rbp + 0x1a8], rcx
movzx ecx, word [r13 + rax*2 + 0xc]
movzx r15d, word [r13 + rax*2]
movzx r12d, word [r13 + rax*2 + 0x4c]
mov qword [rbp + 0x1a0], rcx
movzx ecx, word [r13 + rax*2 + 0xe]
mov qword [rbp + 0x198], rcx
movzx ecx, word [r13 + rax*2 + 0x10]
mov qword [rbp + 0x190], rcx
movzx ecx, word [r13 + rax*2 + 0x12]
mov qword [rbp + 0x188], rcx
movzx ecx, word [r13 + rax*2 + 0x14]
mov qword [rbp + 0x180], rcx
movzx ecx, word [r13 + rax*2 + 0x16]
mov qword [rbp + 0x178], rcx
movzx ecx, word [r13 + rax*2 + 0x18]
mov qword [rbp + 0x170], rcx
movzx ecx, word [r13 + rax*2 + 0x1a]
mov qword [rbp + 0x168], rcx
movzx ecx, word [r13 + rax*2 + 0x1c]
mov qword [rbp + 0x160], rcx
movzx ecx, word [r13 + rax*2 + 0x1e]
mov qword [rbp + 0x158], rcx
movzx ecx, word [r13 + rax*2 + 0x20]
mov qword [rbp + 0x150], rcx
movzx ecx, word [r13 + rax*2 + 0x22]
mov qword [rbp + 0x148], rcx
movzx ecx, word [r13 + rax*2 + 0x24]
mov qword [rbp + 0x140], rcx
movzx ecx, word [r13 + rax*2 + 0x26]
mov qword [rbp + 0x138], rcx
movzx ecx, word [r13 + rax*2 + 0x28]
mov qword [rbp + 0x130], rcx
movzx ecx, word [r13 + rax*2 + 0x2a]
mov qword [rbp + 0x128], rcx
movzx ecx, word [r13 + rax*2 + 0x2c]
mov qword [rbp + 0x120], rcx
movzx ecx, word [r13 + rax*2 + 0x2e]
mov qword [rbp + 0x118], rcx
movzx ecx, word [r13 + rax*2 + 0x30]
mov qword [rbp + 0x110], rcx
movzx ecx, word [r13 + rax*2 + 0x32]
mov qword [rbp + 0x108], rcx
movzx ecx, word [r13 + rax*2 + 0x34]
mov qword [rbp + 0x100], rcx
movzx ecx, word [r13 + rax*2 + 0x36]
mov qword [rbp + 0xf8], rcx
movzx ecx, word [r13 + rax*2 + 0x38]
mov qword [rbp + 0xf0], rcx
movzx ecx, word [r13 + rax*2 + 0x3a]
mov qword [rbp + 0xe8], rcx
movzx ecx, word [r13 + rax*2 + 0x3c]
mov qword [rbp + 0xe0], rcx
movzx ecx, word [r13 + rax*2 + 0x3e]
mov qword [rbp + 0xd8], rcx
movzx ecx, word [r13 + rax*2 + 0x40]
mov qword [rbp + 0xd0], rcx
movzx ecx, word [r13 + rax*2 + 0x42]
mov qword [rbp + 0xc8], rcx
movzx ecx, word [r13 + rax*2 + 0x44]
mov qword [rbp + 0xc0], rcx
movzx ecx, word [r13 + rax*2 + 0x46]
mov qword [rbp + 0xb8], rcx
movzx ecx, word [r13 + rax*2 + 0x48]
mov qword [rbp + 0xb0], rcx
movzx ecx, word [r13 + rax*2 + 0x4a]
movzx r13d, word [r13 + rax*2 + 0x4e]
mov qword [rbp + 0x230], r13
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0xa8], rcx
mov qword [rbp - 0x78], r12
mov rcx, qword [rsp + 0x58]
movzx r14d, word [rcx + rax*2 + 0x50]
movzx esi, word [rcx + rax*2 + 0x52]
movzx edi, word [rcx + rax*2 + 0x54]
movzx ebx, word [rcx + rax*2 + 0x56]
movzx r11d, word [rcx + rax*2 + 0x58]
movzx r10d, word [rcx + rax*2 + 0x5a]
movzx r9d, word [rcx + rax*2 + 0x5c]
movzx r8d, word [rcx + rax*2 + 0x5e]
movzx edx, word [rcx + rax*2 + 0x60]
movzx ecx, word [rcx + rax*2 + 0x62]
mov rax, qword [rbp + 0x188]
shl rax, 4
mov qword [rbp - 0x40], rax
mov eax, ecx
shl rax, 4
mov qword [rbp - 0x48], rax
mov rax, qword [rbp + 0x190]
shl rax, 4
mov qword [rbp - 0x50], rax
mov eax, edx
shl rax, 4
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0x198]
shl rax, 4
mov qword [rbp - 0x60], rax
mov eax, r8d
shl rax, 4
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0x1a0]
shl rax, 4
mov qword [rbp - 0x70], rax
mov eax, r9d
shl rax, 4
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + 0x1a8]
shl rax, 4
mov qword [rbp + 0x1c8], rax
mov eax, r10d
shl rax, 4
mov qword [rbp + 0x1c0], rax
mov rax, qword [rbp + 0x1b0]
shl rax, 4
mov qword [rsp + 0x48], rax
mov eax, r11d
shl rax, 4
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0x1b8]
shl rax, 4
mov qword [rbp + 0x98], rax
mov eax, ebx
shl rax, 4
mov qword [rbp + 0x90], rax
mov rax, qword [rsp + 0x78]
shl rax, 4
mov qword [rbp + 0x88], rax
mov eax, edi
shl rax, 4
mov qword [rbp + 0x80], rax
mov rax, qword [rsp + 0x60]
shl rax, 4
mov qword [rbp + 0x78], rax
mov eax, esi
shl rax, 4
mov qword [rbp + 0x70], rax
mov eax, r15d
shl rax, 4
mov qword [rbp + 0x68], rax
mov eax, r14d
shl rax, 4
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x228], r14
mov qword [rbp + 0x220], rsi
mov qword [rbp + 0x218], rdi
mov qword [rbp + 0x210], rbx
mov qword [rbp + 0x208], r11
mov qword [rbp + 0x200], r10
mov qword [rbp + 0x1f8], r9
mov qword [rbp + 0x1f0], r8
mov qword [rbp + 0x1e8], rdx
mov qword [rbp + 0x1e0], rcx
mov r15, qword [rbp + 0x128]
mov eax, r13d
shl rax, 4
mov qword [rbp + 0x58], rax
mov eax, r12d
shl rax, 4
mov r13, qword [rbp + 0x118]
mov r12, qword [rbp + 0x120]
mov r14, qword [rbp + 0x130]
mov rsi, qword [rbp + 0x138]
add r14, r14
mov rdi, qword [rbp + 0x140]
add rsi, rsi
mov rbx, qword [rbp + 0x148]
add rdi, rdi
mov r11, qword [rbp + 0x150]
add rbx, rbx
mov r10, qword [rbp + 0x158]
add r11, r11
mov r9, qword [rbp + 0x160]
add r10, r10
mov r8, qword [rbp + 0x168]
add r9, r9
mov rdx, qword [rbp + 0x170]
add r8, r8
mov rcx, qword [rbp + 0x178]
add rdx, rdx
mov qword [rbp + 0x50], rax
add rcx, rcx
mov rax, qword [rbp + 0xa8]
shl rax, 4
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0xb0]
shl rax, 4
mov qword [rbp + 0x40], rax
mov rax, qword [rbp + 0xb8]
shl rax, 4
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0xc0]
shl rax, 4
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0xc8]
shl rax, 4
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0xd0]
shl rax, 4
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0xd8]
shl rax, 4
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0xe0]
shl rax, 4
mov qword [rbp + 0x10], rax
mov rax, qword [rbp + 0xe8]
shl rax, 4
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0xf0]
shl rax, 4
mov qword [rbp], rax
mov rax, qword [rbp + 0xf8]
shl rax, 4
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x100]
shl rax, 4
mov qword [rbp - 0x10], rax
mov rax, qword [rbp + 0x108]
shl rax, 4
mov qword [rbp - 0x18], rax
mov rax, qword [rbp + 0x110]
shl rax, 4
shl r13, 4
shl r12, 4
mov qword [rbp - 0x20], rax
mov rax, qword [rbp + 0x180]
shl r15, 4
mov qword [rbp - 0x28], r13
add rax, rax
mov r13, qword [rsp + 0x48]
mov qword [rbp - 0x30], r12
mov r12, qword [rsp + 0x30]
mov qword [rbp - 0x38], r15
mov r13d, dword [r12 + r13 + 0xc9b8]
mov r15, qword [rsp + 0x30]
mov dword [rsp + 0x38], r13d
mov r12d, dword [rsp + 0x38]
mov r13, qword [rbp + 0x1c0]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x1c8]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x1d0]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x70]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x68]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x60]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x58]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x50]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x48]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x40]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13d, r12d
mov dword [rsp + 0x38], r12d
add r13d, dword [r15 + rax*8 + 0xc9b8]
mov r12, r15
add r13d, dword [r15 + rcx*8 + 0xc9b8]
add r13d, dword [r15 + rdx*8 + 0xc9b8]
add r13d, dword [r15 + r8*8 + 0xc9b8]
add r13d, dword [r15 + r9*8 + 0xc9b8]
add r13d, dword [r15 + r10*8 + 0xc9b8]
add r13d, dword [r15 + r11*8 + 0xc9b8]
add r13d, dword [r15 + rbx*8 + 0xc9b8]
add r13d, dword [r15 + rdi*8 + 0xc9b8]
add r13d, dword [r15 + rsi*8 + 0xc9b8]
add r13d, dword [r15 + r14*8 + 0xc9b8]
mov r15, qword [rbp - 0x38]
add r13d, dword [r15 + r12 + 0xc9b8]
mov r15, qword [rsp + 0x30]
mov r12, qword [rbp - 0x30]
add r13d, dword [r12 + r15 + 0xc9b8]
mov dword [rsp + 0x38], r13d
mov r13, qword [rbp - 0x28]
mov r12d, dword [rsp + 0x38]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x20]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x18]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 0x10]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp - 8]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 8]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x10]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x18]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x20]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x28]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x30]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x38]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x40]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x48]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x50]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x58]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x60]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x68]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x70]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x78]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x80]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x88]
add r12d, dword [r15 + r13 + 0xc9b8]
mov r13, qword [rbp + 0x90]
add r12d, dword [r15 + r13 + 0xc9b8]
mov dword [rsp + 0x38], r12d
mov r13d, dword [rsp + 0x38]
mov r12, qword [rbp + 0x98]
add r13d, dword [r12 + r15 + 0xc9b8]
mov r12, qword [rbp + 0xa0]
add r13d, dword [r12 + r15 + 0xc9b8]
mov r12, r15
mov dword [rsp + 0x38], r13d
mov r13, qword [rsp + 0x48]
mov r13d, dword [r15 + r13 + 0xc9bc]
mov dword [rsp + 0x48], r13d
mov r12d, dword [rsp + 0x48]
mov r13, qword [rbp + 0x1c0]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp + 0x1c8]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp + 0x1d0]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp - 0x70]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp - 0x68]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp - 0x60]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp - 0x58]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp - 0x50]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp - 0x48]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13, qword [rbp - 0x40]
add r12d, dword [r15 + r13 + 0xc9bc]
mov r13d, r12d
mov dword [rsp + 0x48], r12d
add r13d, dword [r15 + rax*8 + 0xc9bc]
mov r12, r15
add r13d, dword [r15 + rcx*8 + 0xc9bc]
mov rax, qword [rbp - 0x20]
mov ecx, r13d
add ecx, dword [r15 + rdx*8 + 0xc9bc]
add ecx, dword [r15 + r8*8 + 0xc9bc]
add ecx, dword [r15 + r9*8 + 0xc9bc]
add ecx, dword [r15 + r10*8 + 0xc9bc]
add ecx, dword [r15 + r11*8 + 0xc9bc]
add ecx, dword [r15 + rbx*8 + 0xc9bc]
add ecx, dword [r15 + rdi*8 + 0xc9bc]
add ecx, dword [r15 + rsi*8 + 0xc9bc]
add ecx, dword [r15 + r14*8 + 0xc9bc]
mov r14, r12
mov r15, qword [rbp - 0x38]
mov dword [rsp + 0x48], r13d
mov r13, qword [rbp - 0x28]
add ecx, dword [r15 + r12 + 0xc9bc]
mov r12, qword [rbp - 0x30]
add ecx, dword [r12 + r14 + 0xc9bc]
add ecx, dword [r14 + r13 + 0xc9bc]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp - 0x18]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp - 0x10]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp - 8]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 8]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x10]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x18]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x20]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x28]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x30]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x38]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x40]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x48]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x50]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x58]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x60]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x68]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x70]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x78]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x80]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x88]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x90]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x98]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0xa0]
add ecx, dword [rax + r14 + 0xc9bc]
mov rax, qword [rbp + 0x1e0]
add rax, 0xc9c
mov dword [rsp + 0x48], ecx
mov rcx, qword [rbp + 0x1d8]
add rax, rax
add rcx, 0xc9c
add rcx, rcx
mov edx, dword [r14 + rcx*8]
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x1e8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x1f0]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x1f8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x200]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x208]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x210]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x218]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x220]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x228]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x230]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp - 0x78]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xa8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xb0]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xb8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xc0]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xc8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xd0]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xd8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xe0]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xe8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xf0]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0xf8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x100]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x108]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x110]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x118]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x120]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x128]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x130]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x138]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x140]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x148]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x150]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x158]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x160]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x168]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x170]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x178]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x180]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x188]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x190]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x198]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x1a0]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x1a8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x1b0]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rbp + 0x1b8]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rsp + 0x78]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov rax, qword [rsp + 0x60]
add rax, 0xc9c
add rax, rax
add edx, dword [r14 + rax*8]
mov eax, dword [rsp + 0x38]
mov word [rbp + 0x240], ax
shr eax, 0x10
mov word [rbp + 0x242], ax
mov eax, dword [rsp + 0x48]
mov word [rbp + 0x244], ax
mov r13, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x3c]
mov rdi, qword [rbp - 0x80]
mov r8d, dword [rbp + 0x238]
mov esi, dword [rsp + 0x68]
mov word [rbp + 0x248], dx
shr edx, 0x10
shr eax, 0x10
mov word [rbp + 0x24a], dx
xor r15d, r15d
mov edx, dword [rsp + 0x6c]
mov word [rbp + 0x246], ax
jmp 0x180142547
cmp edx, r8d
jg 0x180142547
movsxd rax, edx
mov r11d, r8d
sub r11d, edx
lea r9, [rax*2]
add r9, r13
add r11d, r10d
movzx eax, word [r9]
lea r10, [r14 + 0x934c]
add r10, rax
mov rcx, r15
movzx eax, byte [r10]
lea r10, [r10 + 0x102]
add word [rbp + rcx*2 + 0x240], ax
inc rcx
cmp rcx, rdi
jl 0x180142522
add r9, 2
sub r11, 1
jne 0x180142511
mov r9d, 0x3b9ac9ff
or r10d, 0xffffffff
mov r12d, r15d
mov r11, r15
mov ecx, r9d
mov eax, r12d
movzx r9d, word [rbp + r11*2 + 0x240]
cmp r9d, ecx
cmovge eax, r10d
inc r12d
inc r11
movsxd r10, eax
cmp r9d, ecx
cmovge r9d, ecx
cmp r11, rdi
jl 0x180142557
mov r9, qword [rsp + 0x40]
mov r11, r10
mov byte [r9], r10b
mov r10d, 1
add esi, r10d
add r9, r10
mov dword [rsp + 0x68], esi
mov qword [rsp + 0x40], r9
cmp ebx, 6
jne 0x180142917
mov eax, r8d
sub eax, edx
cmp eax, 0x31
jne 0x180142917
movsxd rcx, edx
imul rdx, r11, 0x102
movzx eax, word [r13 + rcx*2]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 2]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 4]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 6]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 8]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0xa]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0xc]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0xe]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x10]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x12]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x14]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x16]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x18]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x1a]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x1c]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x1e]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x20]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x22]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x24]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x26]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x28]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x2a]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x2c]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x2e]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x30]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x32]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x34]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x36]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x38]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x3a]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x3c]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x3e]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x40]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x42]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x44]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x46]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x48]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x4a]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x4c]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x4e]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x50]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x52]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x54]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x56]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x58]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x5a]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x5c]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x5e]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x60]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
movzx eax, word [r13 + rcx*2 + 0x62]
add rax, rdx
add dword [r14 + rax*4 + 0xb188], r10d
jmp 0x180142951
cmp edx, r8d
jg 0x180142951
movsxd rax, edx
imul r9, r11, 0x102
lea rcx, [rax*2]
mov eax, r8d
add rcx, r13
sub eax, edx
lea edx, [r10 + rax]
movzx eax, word [rcx]
lea rcx, [rcx + 2]
add rax, r9
add dword [r14 + rax*4 + 0xb188], r10d
sub rdx, r10
jne 0x18014293a
mov ecx, dword [r14 + 0x29c]
lea edx, [r8 + 1]
mov dword [rsp + 0x6c], edx
cmp edx, ecx
jl 0x180141667
mov r12d, dword [rsp + 0x70]
lea rax, [r14 + 0xb188]
lea r13, [r14 + 0x934c]
mov r14, rdi
mov rdi, rax
mov r9d, setsockopt
mov r8d, r12d
mov rdx, rdi
mov rcx, r13
call fcn.180144cd0
mov r10d, 1
add rdi, 0x408
add r13, 0x102
sub r14, r10
jne 0x180142981
mov eax, dword [rsp + 0x50]
mov r14, qword [rsp + 0x30]
add eax, r10d
mov r13, qword [rsp + 0x58]
mov dword [rsp + 0x50], eax
mov edi, ebx
cmp eax, 4
jl 0x180141595
cmp esi, 0x4653
jl 0x1801429e6
mov ecx, 0xbbb
call sym.tc0509.dll_bz_internal_error
mov r10d, 1
mov eax, r15d
lea rcx, [rbp + 0x238]
mov byte [rcx], al
add eax, r10d
add rcx, r10
cmp eax, ebx
jl 0x1801429f0
test esi, esi
jle 0x180142a4e
mov dl, byte [rbp + 0x238]
lea r8, [r14 + 0x4cfa]
mov r11d, esi
mov r10b, byte [r8 - 0x4652]
mov r9d, r15d
jmp 0x180142a32
mov cl, dl
inc r9d
movsxd rax, r9d
mov dl, byte [rbp + rax + 0x238]
mov byte [rbp + rax + 0x238], cl
cmp r10b, dl
jne 0x180142a1c
mov r10d, 1
mov byte [r8], r9b
add r8, r10
mov byte [rbp + 0x238], dl
sub r11, r10
jne 0x180142a10
lea rax, [r14 + 0x934c]
mov dword [rsp + 0x48], r15d
mov qword [rsp + 0x60], rax
mov esi, r15d
mov qword [rsp + 0x40], r15
mov r8d, 0x20
mov r9d, r15d
test r12d, r12d
jle 0x180142ada
mov rcx, rax
mov edx, r12d
movzx esi, byte [rcx]
cmp esi, r9d
mov eax, esi
cmovle eax, r9d
cmp esi, r8d
mov dword [rsp + 0x50], eax
mov r9d, eax
cmovge esi, r8d
add rcx, r10
mov r8d, esi
sub rdx, r10
jne 0x180142a7b
cmp eax, 0x11
jle 0x180142ab9
mov ecx, 0xbbc
call sym.tc0509.dll_bz_internal_error
mov eax, dword [rsp + 0x50]
mov r10d, 1
mov r9d, eax
mov r8d, esi
cmp esi, r10d
jge 0x180142ad6
mov ecx, 0xbbd
call sym.tc0509.dll_bz_internal_error
mov r9d, dword [rsp + 0x50]
mov r8d, esi
mov esi, dword [rsp + 0x48]
mov ecx, esi
lea rdx, [r14 + 0x934c]
imul rax, rcx, 0x102
mov dword [rsp + 0x20], r12d
add rdx, rax
imul rax, rcx, 0x408
lea rcx, [r14 + 0x9958]
add rcx, rax
call fcn.180144c88
mov rcx, qword [rsp + 0x40]
mov r10d, 1
mov rax, qword [rsp + 0x60]
add esi, r10d
add rcx, r10
mov dword [rsp + 0x48], esi
add rax, 0x102
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x60], rax
cmp rcx, rdi
jl 0x180142a67
mov r9d, r15d
lea r11d, [r10 + 0xf]
mov ecx, r15d
movsxd rdx, r9d
cmp rdx, r11
jae 0x180143324
movsxd rax, ecx
lea r8, [r14 + 0x80]
add r8, rax
mov byte [rbp + rdx + 0x240], r15b
mov rax, r11
cmp byte [r8], r15b
je 0x180142b76
mov byte [rbp + rdx + 0x240], r10b
add r8, r10
sub rax, r10
jne 0x180142b69
add r9d, r10d
add ecx, r11d
cmp ecx, 0x100
jl 0x180142b45
lea rsi, [rbp + 0x240]
mov rdi, r11
cmp byte [rsi], r15b
mov r8d, r15d
mov edx, r10d
mov rcx, r14
setne r8b
call fcn.1801410e0
mov r10d, 1
add rsi, r10
sub rdi, r10
jne 0x180142b96
lea ecx, [rdi + 0x10]
mov edi, ebx
lea rax, [r14 + 0x80]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x40], rax
lea rsi, [rbp + 0x240]
cmp byte [rsi], r15b
je 0x180142c13
mov r13, rax
mov edi, reloc.WS2_32.dll_recv
cmp byte [r13], r15b
mov r8d, r15d
mov edx, r10d
mov rcx, r14
setne r8b
call fcn.1801410e0
mov r10d, 1
add r13, r10
sub rdi, r10
jne 0x180142be3
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov edi, ebx
add rax, 0x10
add rsi, r10
sub rcx, r10
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], rcx
jne 0x180142bd6
mov r8d, ebx
mov edx, 3
mov rcx, r14
call fcn.1801410e0
mov esi, dword [rsp + 0x68]
mov edx, recv
mov r8d, esi
mov rcx, r14
call fcn.1801410e0
test esi, esi
jle 0x180142cae
lea rax, [r14 + 0x4cfa]
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x30], rax
mov r13d, r15d
cmp byte [rax], r15b
jbe 0x180142c8a
mov rsi, qword [rsp + 0x30]
mov edx, 1
mov rcx, r14
mov r8d, edx
call fcn.1801410e0
movzx eax, byte [rsi]
inc r13d
cmp r13d, eax
jl 0x180142c6f
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 1]
call fcn.1801410e0
mov rax, qword [rsp + 0x30]
inc rax
sub qword [rsp + 0x40], 1
mov qword [rsp + 0x30], rax
jne 0x180142c62
mov rax, r15
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x78], rax
lea rbx, [r14 + 0x934c]
mov r13, r15
add rax, rbx
mov edx, 5
mov rcx, r14
mov qword [rsp + 0x30], rax
movzx esi, byte [rax]
mov r8d, esi
call fcn.1801410e0
test r12d, r12d
jle 0x180142d5e
mov eax, r12d
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
mov r13, qword [rsp + 0x30]
cmp esi, ecx
jge 0x180142d17
mov edx, 2
mov rcx, r14
mov r8d, edx
call fcn.1801410e0
movzx ecx, byte [r13]
inc esi
jmp 0x180142cfa
movzx eax, cl
jmp 0x180142d31
mov edx, 2
lea r8d, [rdx + 1]
call fcn.1801410e0
movzx eax, byte [r13]
dec esi
mov rcx, r14
cmp esi, eax
jg 0x180142d1c
xor r8d, r8d
lea edx, [r8 + 1]
call fcn.1801410e0
mov rax, qword [rsp + 0x30]
inc rax
sub qword [rsp + 0x40], 1
mov qword [rsp + 0x30], rax
jne 0x180142cf2
mov r13, qword [rsp + 0x60]
mov rax, qword [rsp + 0x78]
inc r13
add rax, 0x102
mov qword [rsp + 0x60], r13
mov qword [rsp + 0x78], rax
cmp r13, rdi
jl 0x180142cc5
mov ecx, dword [r14 + 0x29c]
mov r12d, r15d
mov r13, qword [rsp + 0x58]
mov ebx, dword [rsp + 0x3c]
test ecx, ecx
jle 0x1801432e3
lea rdx, [r14 + 0x6a8]
mov qword [rsp + 0x58], rdx
lea eax, [r12 + 0x31]
cmp eax, ecx
lea esi, [rcx - 1]
cmovl esi, eax
movzx eax, byte [rdx]
mov dword [rbp + 0x238], esi
cmp eax, ebx
jb 0x180142dcf
mov ecx, 0xbbe
call sym.tc0509.dll_bz_internal_error
mov rdx, qword [rsp + 0x58]
cmp rdi, 6
jne 0x180143263
mov eax, esi
sub eax, r12d
cmp eax, 0x31
jne 0x180143263
movzx ecx, byte [rdx]
lea rsi, [r14 + 0x934c]
imul rax, rcx, 0x102
movsxd rbx, r12d
lea rdi, [r14 + 0x9958]
add rsi, rax
imul rax, rcx, 0x408
mov rcx, r14
add rdi, rax
movzx eax, word [r13 + rbx*2]
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 2]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 4]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 6]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 8]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0xa]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0xc]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0xe]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x10]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x12]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x14]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x16]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x18]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x1a]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x1c]
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
mov rcx, r14
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x1e]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x20]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x22]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x24]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x26]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x28]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x2a]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x2c]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x2e]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x30]
mov rcx, r14
movzx edx, byte [rax + rsi]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x32]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x34]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x36]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x38]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x3a]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x3c]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x3e]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x40]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x42]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x44]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x46]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x48]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x4a]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x4c]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x4e]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x50]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x52]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x54]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x56]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x58]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x5a]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x5c]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x5e]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x60]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
movzx eax, word [r13 + rbx*2 + 0x62]
mov rcx, r14
movzx edx, byte [rsi + rax]
mov r8d, dword [rdi + rax*4]
call fcn.1801410e0
mov esi, dword [rbp + 0x238]
jmp 0x1801432b7
cmp r12d, esi
jg 0x1801432c4
mov rbx, qword [rsp + 0x58]
movsxd rax, r12d
lea rdi, [rax*2]
mov eax, esi
add rdi, r13
sub eax, r12d
lea r12d, [rax + 1]
movzx eax, byte [rbx]
mov rcx, r14
imul r8, rax, 0x102
movzx eax, word [rdi]
add r8, rax
movzx edx, byte [r8 + r14 + 0x934c]
mov r8d, dword [r14 + r8*4 + 0x9958]
call fcn.1801410e0
lea rdi, [rdi + 2]
sub r12, 1
jne 0x180143284
mov rdx, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
mov ebx, dword [rsp + 0x3c]
mov ecx, dword [r14 + 0x29c]
lea r12d, [rsi + 1]
inc rdx
inc r15d
mov qword [rsp + 0x58], rdx
cmp r12d, ecx
jl 0x180142da6
cmp r15d, dword [rsp + 0x68]
je 0x1801432f4
mov ecx, 0xbbf
call sym.tc0509.dll_bz_internal_error
mov rcx, qword [rbp + 0x250]
xor rcx, rsp
call fcn.180145570
lea r11, [rsp + 0x360]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.180145698
int3