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

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x140202220]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov eax, dword [0x1417c1108]
mov r8d, dword [0x1417c0fc4]
xor r15d, r15d
mov r14d, 1
mov dword [rsp + 0x78], 0xffffffff
mov dword [rsp + 0x7c], 0xfffffffe
mov esi, r8d
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x5c], r15d
mov r13d, r15d
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x3c], r15d
imul esi, eax
inc eax
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x74], r15d
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x60], r15d
mov dword [r11 - 0x38], r14d
mov dword [r11 - 0x34], 2
mov ebp, r15d
mov dword [rsp + 0x40], r15d
mov dword [0x1417c110c], r15d
lea r9, [0x140000000]
cmp eax, r14d
jle 0x140002635
lea edx, [rax - 1]
mov eax, 3
lea rdi, [0x1418013c4]
mov ecx, edx
rep stosd dword [rdi], eax
mov eax, r15d
nop
mov dword [rax + r9 + 0x17c1124], 0x3e7
mov dword [rax + r9 + 0x17e126c], 0x3e7
mov dword [rax + r9 + 0x17c77cc], 0x3e7
mov dword [rax + r9 + 0x17e7914], 0x3e7
mov dword [rax + r9 + 0x17cde74], 0x3e7
mov dword [rax + r9 + 0x17edfbc], 0x3e7
mov dword [rax + r9 + 0x17d451c], 0x3e7
mov dword [rax + r9 + 0x17f4664], 0x3e7
mov dword [rax + r9 + 0x17dabc4], 0x3e7
mov dword [rax + r9 + 0x17fad0c], 0x3e7
add rax, 4
dec rdx
jne 0x1400025b0
lea edx, [r8 + 1]
test edx, edx
jle 0x14000271e
movsxd rax, dword [0x1417c1108]
mov rcx, r15
shl rax, 2
nop
mov dword [rcx + r9 + 0x17c1120], r15d
mov dword [rcx + r9 + 0x17e1268], r15d
mov dword [rax + r9 + 0x17c1124], r15d
mov dword [rax + r9 + 0x17e126c], r15d
mov dword [rcx + r9 + 0x17c77c8], r15d
mov dword [rcx + r9 + 0x17e7910], r15d
mov dword [rax + r9 + 0x17c77cc], r15d
mov dword [rax + r9 + 0x17e7914], r15d
mov dword [rcx + r9 + 0x17cde70], r15d
mov dword [rcx + r9 + 0x17edfb8], r15d
mov dword [rax + r9 + 0x17cde74], r15d
mov dword [rax + r9 + 0x17edfbc], r15d
mov dword [rcx + r9 + 0x17d4518], r15d
mov dword [rcx + r9 + 0x17f4660], r15d
mov dword [rax + r9 + 0x17d451c], r15d
mov dword [rax + r9 + 0x17f4664], r15d
mov dword [rcx + r9 + 0x17dabc0], r15d
mov dword [rcx + r9 + 0x17fad08], r15d
mov dword [rax + r9 + 0x17dabc4], r15d
mov dword [rcx + r9 + 0x18013c0], 3
mov dword [rax + r9 + 0x18013c4], 3
mov dword [rax + r9 + 0x17fad0c], r15d
add rax, 0x168
add rcx, 0x168
dec rdx
jne 0x140002650
mov rbx, qword [0x1418088e0]
mov dword [0x1418088ac], r15d
jmp 0x140002740
xor r15d, r15d
mov r14d, 1
nop dword [rax]
cmp dword [0x1418088ac], 0
je 0x140002778
cmp dword [0x141828470], 0
je 0x140002765
mov rdx, qword [0x141828480]
lea rcx, str.Warning:_A_Fault_Condition_Has_Occurred___Resyncing__n
call fcn.14014fa54
call fcn.140001e40
mov rbx, qword [0x1418088e0]
mov dword [0x1418088ac], r15d
cmp dword [rbx + 0x820], 0x16
jge 0x14000278d
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov edx, dword [rbx + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x811]
movzx edi, byte [rcx + rbx + 0x810]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x812]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl edi, 8
and ecx, 7
or edi, eax
add ecx, 3
shr edi, cl
and edi, dword [0x1417b13c8]
test edi, 0xffffffc0
jne 0x1400028ee
call fcn.140001e40
mov rbx, qword [0x1418088e0]
cmp dword [rbx + 0x820], 0x16
jge 0x14000280e
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov edx, dword [rbx + 0x820]
mov r8d, dword [0x1417b13c8]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x810]
movzx edi, byte [rcx + rbx + 0x811]
shl eax, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x812]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl edi, 8
and ecx, 7
or edi, eax
add ecx, 3
shr edi, cl
and edi, r8d
cmp edi, 0x3f
je 0x1400028d9
cmp edx, 0x16
jge 0x140002883
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov r8d, dword [0x1417b13c8]
mov edx, dword [rbx + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x811]
movzx edi, byte [rcx + rbx + 0x810]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x812]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl edi, 8
and ecx, 7
or edi, eax
add ecx, 3
shr edi, cl
and edi, r8d
cmp edi, 0x20
jne 0x14000292b
cmp dword [0x1417c0fc0], 0
je 0x140003bfa
cmp ebp, esi
jge 0x140003bfa
mov eax, ebp
cdq
idiv dword [0x1417c1108]
mov r15d, edx
mov dword [rsp + 0x48], edx
mov r12d, eax
mov dword [rsp + 0x38], eax
test edx, edx
jne 0x140002bb8
mov eax, dword [0x1417c110c]
test r12d, r12d
mov r14d, 0
cmovg eax, r14d
mov dword [0x1417c110c], eax
jmp 0x140002bbb
cmp dword [0x1417c0fc0], 0
je 0x1400029c4
mov eax, ebp
cdq
idiv dword [0x1417c1108]
test edx, edx
jne 0x1400028ee
cmp dword [rbx + 0x820], 0x16
jge 0x140002961
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov r8d, dword [0x1417b13c8]
mov edx, dword [rbx + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x810]
movzx edi, byte [rcx + rbx + 0x811]
shl eax, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x812]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl edi, 8
and ecx, 7
or edi, eax
add ecx, 3
shr edi, cl
and edi, 0x1f
and edi, r8d
imul edi, dword [0x1417c1108]
cmp edi, ebp
jne 0x1400028ee
call fcn.140001e40
mov rbx, qword [0x1418088e0]
cmp dword [rbx + 0x820], 0x11
jge 0x1400029e5
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
add dword [rbx + 0x824], 0x11
add dword [rbx + 0x820], 0xffffffef
jns 0x140002a01
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
cmp dword [rbx + 0x820], 5
jge 0x140002a16
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov edx, dword [rbx + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x810]
movzx edi, byte [rcx + rbx + 0x811]
shl eax, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x812]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl edi, 8
and ecx, 7
or edi, eax
add ecx, 0x14
lea eax, [rdx - 5]
shr edi, cl
and edi, dword [0x1417b1384]
add dword [rbx + 0x824], 5
mov dword [rbx + 0x820], eax
test eax, eax
jns 0x140002a8a
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
cmp edi, 0x1f
jne 0x140002a94
mov edi, r15d
jmp 0x140002ab3
test edi, edi
jne 0x140002ab1
call fcn.140001f00
cmp dword [0x1417c0fc0], edi
je 0x140002aaa
call fcn.140008820
mov rbx, qword [0x1418088e0]
inc edi
lea r12d, [rdi - 1]
cmp r12d, dword [0x1417c0fc4]
mov dword [rsp + 0x38], r12d
jg 0x140003bfa
cmp dword [rbx + 0x820], 2
jge 0x140002ade
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
add dword [rbx + 0x824], 2
add dword [rbx + 0x820], 0xfffffffe
jns 0x140002afa
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
cmp dword [rbx + 0x820], 5
jge 0x140002b0f
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov edx, dword [rbx + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x811]
movzx edi, byte [rcx + rbx + 0x810]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x812]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl edi, 8
and ecx, 7
or edi, eax
add ecx, 0x14
lea eax, [rdx - 5]
shr edi, cl
and edi, dword [0x1417b1384]
add dword [rbx + 0x824], 5
mov dword [rbx + 0x820], eax
test eax, eax
jns 0x140002b83
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov ebp, dword [0x1417c1108]
mov dword [0x1417c0f44], edi
mov dword [rsp + 0x48], r15d
mov dword [0x1417c110c], r14d
imul ebp, r12d
cmp dword [0x1417c0fc0], 0
mov dword [rsp + 0x40], ebp
je 0x140002bb8
call fcn.140008820
mov rbx, qword [0x1418088e0]
xor r14d, r14d
cmp ebp, esi
jge 0x140003bfa
cmp dword [0x1417c0fc0], 0
je 0x140002c28
cmp dword [0x1417c0f48], 1
jne 0x140002c1e
lea rcx, [0x1417ad760]
call fcn.140008430
cmp dword [0x141828470], 0
movsxd rcx, eax
lea rax, [0x140000000]
mov edi, dword [rax + rcx*4 + 0x17ad088]
mov dword [rsp + 0x34], edi
je 0x140002c12
mov rdx, qword [0x141828480]
lea rcx, str.Arithmetic_Decoding_Debug__n
call fcn.14014fa54
mov rbx, qword [0x1418088e0]
jmp 0x140002ca2
mov dword [rsp + 0x34], r14d
jmp 0x140002caa
cmp dword [0x1417c0f48], 1
jne 0x140002cfa
cmp dword [rbx + 0x820], 1
jge 0x140002c4a
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov edx, dword [rbx + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x810]
movzx edi, byte [rcx + rbx + 0x811]
shl eax, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x812]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl edi, 8
and ecx, 7
add ecx, 0x18
or edi, eax
shr edi, cl
and edi, dword [reloc.WS2_32.dll_accept]
mov dword [rsp + 0x34], edi
test edi, edi
jne 0x140002d66
cmp dword [0x1417c0fc0], 0
je 0x140002cff
cmp dword [0x1417c0f48], 1
jne 0x140002cdb
lea rcx, [0x1417ad770]
call fcn.140008430
lea rbx, [0x140000000]
movsxd rcx, eax
mov edi, dword [rbx + rcx*4 + 0x17af510]
jmp 0x140002d39
lea rcx, [0x1417aceb8]
call fcn.140008430
lea rbx, [0x140000000]
movsxd rcx, eax
mov edi, dword [rbx + rcx*4 + 0x17ad158]
jmp 0x140002d39
mov dword [rsp + 0x34], r14d
cmp dword [0x1417c0f48], 1
jne 0x140002d1b
inc dword [rbx + 0x824]
dec dword [rbx + 0x820]
jns 0x140002d2b
call fcn.1400012e0
cmp dword [0x1417c0f48], 0
jne 0x140002d2b
call fcn.140005280
jmp 0x140002d30
call fcn.140005060
lea rbx, [0x140000000]
mov edi, eax
cmp dword [0x1418088ac], 0
jne 0x140002d5a
cmp edi, 0xff
jne 0x140002dd0
mov rbx, qword [0x1418088e0]
jmp 0x140002bc3
mov rbx, qword [0x1418088e0]
jmp 0x140002730
cmp dword [0x1417c0fc0], 0
jne 0x140002d92
cmp dword [0x1417c0f48], 1
jne 0x140002d92
inc dword [rbx + 0x824]
dec dword [rbx + 0x820]
jns 0x140002d92
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
xor edx, edx
lea r8, [0x140000000]
movsxd rcx, r12d
movsxd rax, r15d
mov dword [rsp + 0x44], edx
mov dword [rsp + 0x50], edx
imul rcx, rcx, 0x5a
add rcx, rax
mov r13d, edx
mov dword [rsp + 0x30], edx
mov dword [r8 + rcx*4 + 0x17c128c], edx
mov dword [r8 + rcx*4 + 0x17e13d4], edx
mov dword [rsp + 0x3c], edx
jmp 0x14000348a
mov r14d, edi
and r14d, 7
cmp dword [0x1418088dc], 0
mov dword [rsp + 0x4c], r14d
je 0x140002f47
xor esi, esi
cmp dword [0x1417c0fc0], esi
mov dword [rsp + 0x44], esi
je 0x140002e0f
lea rcx, [0x1417acf58]
call fcn.140008430
movsxd rcx, eax
mov eax, dword [rbx + rcx*4 + 0x17af568]
jmp 0x140002e14
call fcn.140005180
mov dword [rsp + 0x5c], eax
cmp eax, 2
jne 0x140002f47
cmp dword [0x1417c0fc0], esi
je 0x140002eb2
lea ebx, [rax + 3]
lea r12, [0x140000000]
nop word [rax + rax]
lea rcx, [0x1417ad7c8]
call fcn.140008430
mov ecx, ebx
dec ebx
movsxd rdx, eax
mov eax, dword [r12 + rdx*4 + 0x17ad7e8]
shl eax, cl
or esi, eax
cmp ebx, 1
jg 0x140002e40
mov r12d, dword [rsp + 0x38]
mov ebx, 1
lea r15, [0x140000000]
nop word [rax + rax]
lea rcx, [0x1417ad7d8]
call fcn.140008430
mov ecx, ebx
dec ebx
movsxd rdx, eax
mov eax, dword [r15 + rdx*4 + 0x17ad838]
shl eax, cl
or esi, eax
cmp ebx, 0xffffffff
jg 0x140002e80
mov r15d, dword [rsp + 0x48]
mov dword [rsp + 0x44], esi
jmp 0x140002f47
mov r8, qword [0x1418088e0]
cmp dword [r8 + 0x820], 6
jge 0x140002ecf
call fcn.1400012e0
mov r8, qword [0x1418088e0]
mov edx, dword [r8 + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + r8 + 0x810]
movzx esi, byte [rcx + r8 + 0x811]
shl eax, 8
or esi, eax
movzx eax, byte [rcx + r8 + 0x812]
shl esi, 8
or esi, eax
movzx eax, byte [rcx + r8 + 0x813]
lea ecx, [rdx - 1]
shl esi, 8
and ecx, 7
or esi, eax
add ecx, 0x13
lea eax, [rdx - 6]
shr esi, cl
and esi, dword [0x1417b1388]
add dword [r8 + 0x824], 6
mov dword [r8 + 0x820], eax
mov dword [rsp + 0x44], esi
test eax, eax
jns 0x140002f47
call fcn.1400012e0
cmp dword [0x1417c0fc0], 0
je 0x140002f9a
cmp r14d, 3
je 0x140002f7b
cmp r14d, 4
je 0x140002f7b
lea rcx, [0x1417ad7f0]
call fcn.140008430
lea rbx, [0x140000000]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4 + 0x17af580]
jmp 0x140002fa6
lea rcx, [0x1417ad840]
call fcn.140008430
lea rbx, [0x140000000]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4 + 0x17af5c0]
jmp 0x140002fa6
call fcn.1400053a0
lea rbx, [0x140000000]
cmp r14d, 3
je 0x140002fb2
cmp r14d, 4
jne 0x140002fbe
cmp dword [0x1417c0fc0], 0
jne 0x140002fbe
xor eax, 0xf
sar edi, 4
lea esi, [rax*4]
or esi, edi
mov dword [rsp + 0x50], esi
cmp r14d, 1
je 0x14000301d
cmp r14d, 4
je 0x14000301d
mov rbx, qword [0x1418088e0]
mov eax, 1
test r14d, r14d
je 0x140003004
cmp r14d, 1
je 0x140003004
cmp r14d, 2
je 0x14000300e
cmp dword [0x1418088dc], 0
je 0x14000346b
cmp r14d, 2
jne 0x140003164
mov ebp, eax
mov rdx, rax
mov eax, 4
jmp 0x14000316a
cmp dword [0x1417c0fc0], 0
je 0x140003051
lea rcx, [0x1417acf68]
call fcn.140008430
movsxd rcx, eax
mov eax, dword [0x1417c0f44]
mov ecx, dword [rbx + rcx*4 + 0x17ad888]
lea edx, [rax + rcx - 2]
mov dword [0x1417c0f44], edx
jmp 0x14000312e
mov rbx, qword [0x1418088e0]
cmp dword [rbx + 0x820], 2
jge 0x14000306d
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov edx, dword [rbx + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x811]
movzx edi, byte [rcx + rbx + 0x810]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x812]
shl edi, 8
or edi, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl edi, 8
and ecx, 7
or edi, eax
add ecx, 0x17
lea eax, [rdx - 2]
shr edi, cl
and edi, dword [reloc.WS2_32.dll_closesocket]
add dword [rbx + 0x824], 2
mov dword [rbx + 0x820], eax
test eax, eax
jns 0x1400030e1
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov edx, dword [0x1417c0f44]
movsxd rax, edi
add edx, dword [rsp + rax*4 + 0x78]
cmp dword [0x141828470], 0
mov dword [0x1417c0f44], edx
je 0x140003135
mov rdx, qword [0x141828480]
lea rcx, str.DQUANT__
call fcn.14014fa54
mov rdx, qword [0x141828480]
test rdx, rdx
je 0x140003128
lea rcx, str.printbits_:_remove_comment..___
call fcn.14014fa54
mov edx, dword [0x1417c0f44]
mov rbx, qword [0x1418088e0]
cmp edx, 0x1f
jg 0x140003146
cmp edx, 1
jge 0x140002fe1
cmp edx, 0x1f
mov eax, 0x1f
cmovg edx, eax
mov eax, 1
cmp edx, 1
cmovl edx, eax
mov dword [0x1417c0f44], edx
jmp 0x140002fe6
xor ebp, ebp
xor edx, edx
xor eax, eax
movsxd r13, eax
cmp rdx, r13
jg 0x14000336e
mov r14d, dword [rsp + 0x38]
movsxd rax, r12d
mov rcx, rdx
lea rdi, [0x140000000]
sub r13, rdx
imul rcx, rcx, 0x49
add rcx, rax
movsxd rax, r15d
imul rcx, rcx, 0x5a
add rcx, rax
inc r13
lea r12, [rdi + rcx*4 + 0x17e13d4]
cmp dword [0x1417c0fc0], 0
je 0x1400031de
lea rcx, [0x1417ad8a0]
call fcn.140008430
movsxd rcx, eax
mov ebx, dword [rdi + rcx*4 + 0x17af600]
lea rcx, [0x1417ad8a0]
call fcn.140008430
movsxd rcx, eax
mov edi, dword [rdi + rcx*4 + 0x17af600]
jmp 0x1400031ec
call fcn.140004e50
mov ebx, eax
call fcn.140004e50
mov edi, eax
xor r9d, r9d
mov r8d, ebp
mov edx, r14d
mov ecx, r15d
call fcn.140004840
mov r9d, 1
mov r8d, ebp
mov edx, r14d
mov ecx, r15d
mov esi, eax
call fcn.140004840
cmp ebx, 0x1f
jle 0x14000321b
add ebx, 0xffffffc0
mov ecx, dword [0x1417c0f8c]
add ebx, esi
test ecx, ecx
jne 0x140003239
cmp ebx, 0x1f
jle 0x14000322f
sub ebx, 0x40
cmp ebx, 0xffffffe0
jge 0x140003253
add ebx, 0x40
jmp 0x140003253
cmp esi, 0xffffffe1
jge 0x140003246
cmp ebx, 0xffffffc1
jge 0x140003246
add ebx, 0x40
cmp esi, 0x20
jle 0x140003253
cmp ebx, 0x3f
jle 0x140003253
sub ebx, 0x40
cmp edi, 0x1f
jle 0x14000325b
add edi, 0xffffffc0
add edi, eax
test ecx, ecx
jne 0x140003273
cmp edi, 0x1f
jle 0x140003269
sub edi, 0x40
cmp edi, 0xffffffe0
jge 0x14000328d
add edi, 0x40
jmp 0x14000328d
cmp eax, 0xffffffe1
jge 0x140003280
cmp edi, 0xffffffc1
jge 0x140003280
add edi, 0x40
cmp eax, 0x20
jle 0x14000328d
cmp edi, 0x3f
jle 0x14000328d
sub edi, 0x40
cmp dword [0x1418088bc], 0
jne 0x14000333d
mov r9d, reloc.WS2_32.dll_recv
test ebp, ebp
mov eax, 8
cmovne r9d, eax
je 0x1400032c1
or r8d, 0xffffffff
lea eax, [rbp*8]
sub r8d, eax
and r8d, 8
jmp 0x1400032c4
xor r8d, r8d
mov eax, ebx
cdq
sub eax, edx
mov edx, r15d
sar eax, 1
shl edx, 4
add eax, r8d
add edx, eax
js 0x1400032e8
mov eax, dword [0x1417c1108]
shl eax, 4
sub eax, r9d
cmp edx, eax
jle 0x1400032f7
mov r10d, 1
mov dword [0x1418088ac], r10d
jmp 0x1400032fd
mov r10d, 1
test ebp, ebp
je 0x14000330f
lea r8d, [rbp*4 - 1]
and r8d, 8
jmp 0x140003312
xor r8d, r8d
mov eax, edi
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
shl edx, 4
add eax, r8d
add edx, eax
js 0x140003336
mov eax, dword [0x1417c0fc4]
shl eax, 4
sub eax, r9d
cmp edx, eax
jle 0x14000333d
mov dword [0x1418088ac], r10d
mov dword [r12], edi
mov dword [r12 - 0x20148], ebx
add r12, 0x66a8
inc ebp
dec r13
lea rdi, [0x140000000]
jne 0x1400031a7
mov r14d, dword [rsp + 0x4c]
mov rbx, qword [0x1418088e0]
cmp dword [0x1418088dc], 0
je 0x140003462
mov edi, dword [rsp + 0x5c]
cmp edi, 1
je 0x14000339f
cmp edi, 2
je 0x14000339f
mov ebp, dword [rsp + 0x40]
xor edx, edx
mov r13d, edx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x3c], edx
jmp 0x14000346d
cmp dword [0x1417c0fc0], 0
je 0x1400033e3
lea rcx, [0x1417ad8a0]
call fcn.140008430
lea rdi, [0x140000000]
movsxd rcx, eax
mov r13d, dword [rdi + rcx*4 + 0x17af600]
lea rcx, [0x1417ad8a0]
mov dword [rsp + 0x30], r13d
call fcn.140008430
movsxd rcx, eax
mov edi, dword [rdi + rcx*4 + 0x17af600]
jmp 0x1400033f6
call fcn.140004e50
mov r13d, eax
mov dword [rsp + 0x30], eax
call fcn.140004e50
mov edi, eax
mov dword [rsp + 0x3c], edi
cmp r13d, 0x1f
jle 0x140003409
add r13d, 0xffffffc0
mov dword [rsp + 0x30], r13d
mov ecx, dword [0x1417c0f8c]
test ecx, ecx
jne 0x140003431
cmp r13d, 0x1f
jle 0x140003422
sub r13d, 0x40
mov dword [rsp + 0x30], r13d
cmp r13d, 0xffffffe0
jge 0x140003431
add r13d, 0x40
mov dword [rsp + 0x30], r13d
cmp edi, 0x1f
jle 0x14000343d
add edi, 0xffffffc0
mov dword [rsp + 0x3c], edi
test ecx, ecx
jne 0x140003459
cmp edi, 0x1f
jle 0x14000344d
sub edi, 0x40
mov dword [rsp + 0x3c], edi
cmp edi, 0xffffffe0
jge 0x140003459
add edi, 0x40
mov dword [rsp + 0x3c], edi
mov rbx, qword [0x1418088e0]
jmp 0x140003467
mov r13d, dword [rsp + 0x30]
mov ebp, dword [rsp + 0x40]
xor edx, edx
cmp dword [0x1418088ac], 0
mov esi, dword [rsp + 0x54]
jne 0x140002730
mov r12d, dword [rsp + 0x38]
lea r8, [0x140000000]
movsxd rcx, r12d
movsxd rax, r15d
imul rcx, rcx, 0x5a
add rcx, rax
mov dword [r8 + rcx*4 + 0x180152c], r14d
cmp r14d, 3
je 0x1400034ab
cmp r14d, 4
jne 0x1400034c4
cmp dword [0x1418088dc], 0
jne 0x1400034c4
mov dword [r8 + rcx*4 + 0x17e13d4], edx
mov dword [r8 + rcx*4 + 0x17c128c], edx
mov esi, dword [rsp + 0x34]
mov ecx, r12d
shl ecx, 4
mov dword [rsp + 0x4c], ecx
test r15d, r15d
jle 0x1400034e7
mov r14d, r15d
mov r15d, ecx
shl r14d, 4
sub r14d, 0x10
jmp 0x1400034f6
mov r14d, dword [0x1418013b0]
lea r15d, [rcx - 0x10]
add r14d, 0xfffffff0
test ebp, ebp
jle 0x1400037f0
mov eax, r15d
cdq
and edx, 0xf
add eax, edx
sar eax, 4
movsxd rdi, eax
mov eax, r14d
cdq
and edx, 0xf
add eax, edx
sar eax, 4
imul rdi, rdi, 0x5a
movsxd rcx, eax
add rdi, rcx
cmp dword [0x1418088dc], 0
mov edi, dword [r8 + rdi*4 + 0x180152c]
mov dword [rsp + 0x58], edi
je 0x14000355a
mov eax, dword [rsp + 0x64]
mov r9d, dword [rsp + 0x6c]
xor r8d, r8d
mov edx, r15d
mov ecx, r14d
mov dword [rsp + 0x20], eax
call fcn.140005c80
mov rbx, qword [0x1418088e0]
test edi, edi
je 0x140003568
cmp edi, 1
je 0x140003568
cmp edi, 2
jne 0x140003589
xor r9d, r9d
mov edx, r15d
mov ecx, r14d
lea r8d, [r9 + 1]
mov dword [rsp + 0x20], 0
call fcn.140005c80
mov rbx, qword [0x1418088e0]
xor r12d, r12d
cmp dword [0x1417c0f68], r12d
jle 0x1400036cb
mov r13d, dword [rsp + 0x74]
nop
cmp edi, 3
je 0x140003641
cmp edi, 4
je 0x140003641
mov eax, dword [0x1417c0f68]
sub eax, r12d
dec eax
movzx eax, al
bt r13d, eax
jae 0x1400036b6
movsxd rax, r12d
shl rax, 7
cmp dword [0x1417c1114], 0
je 0x1400035f9
lea rcx, [rax + rbx + 0x828]
call fcn.140005930
mov rbx, qword [0x1418088e0]
mov r9d, 1
jmp 0x1400036a8
lea rsi, [rax + rbx + 0x828]
mov ebp, 8
mov rdi, rsi
nop dword [rax]
mov rcx, rdi
call fcn.140005470
add rdi, 0x10
dec rbp
jne 0x140003610
lea edi, [rbp + 8]
mov rcx, rsi
call fcn.140005610
add rsi, 2
dec rdi
jne 0x140003624
mov edi, dword [rsp + 0x58]
mov r9d, 1
jmp 0x1400036a8
movsxd rax, r12d
shl rax, 7
cmp dword [0x1417c1114], 0
je 0x140003667
lea rcx, [rax + rbx + 0x828]
call fcn.140005930
mov rbx, qword [0x1418088e0]
jmp 0x1400036a5
lea rsi, [rax + rbx + 0x828]
mov ebp, 8
mov rdi, rsi
mov rcx, rdi
call fcn.140005470
add rdi, 0x10
dec rbp
jne 0x140003677
lea edi, [rbp + 8]
nop dword [rax + rax]
mov rcx, rsi
call fcn.140005610
add rsi, 2
dec rdi
jne 0x140003690
mov edi, dword [rsp + 0x58]
xor r9d, r9d
mov r8d, r15d
mov edx, r14d
mov ecx, r12d
call fcn.140003c30
inc r12d
cmp r12d, dword [0x1417c0f68]
jl 0x1400035a0
mov r13d, dword [rsp + 0x30]
cmp dword [0x1418088dc], 0
je 0x1400037e7
mov eax, dword [0x1417c0f68]
movsxd r13, dword [rsp + 0x60]
mov r12d, 6
add eax, r12d
cmp eax, r12d
jle 0x1400037e2
test r13, r13
je 0x140003703
cmp dword [0x1417c0fb0], 0
je 0x14000372d
mov eax, dword [rsp + 0x64]
lea ecx, [r12 - 6]
mov r9d, edi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x6c]
mov r8d, r15d
mov edx, r14d
mov dword [rsp + 0x20], eax
call fcn.1400041d0
mov rbx, qword [0x1418088e0]
mov eax, 0x2aaaaaab
imul r12d
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0x1417c0f68]
lea ecx, [rdx + rdx*2]
add ecx, ecx
sub ecx, r12d
lea ecx, [rcx + rax - 1]
movzx eax, cl
mov ecx, dword [rsp + 0x68]
bt ecx, eax
jae 0x1400037c9
movsxd rax, r12d
shl rax, 7
cmp dword [0x1417c1114], 0
je 0x140003780
lea rcx, [rax + rbx + 0x828]
call fcn.140005930
mov rbx, qword [0x1418088e0]
jmp 0x1400037b5
lea rsi, [rax + rbx + 0x828]
mov ebp, 8
mov rdi, rsi
mov rcx, rdi
call fcn.140005470
add rdi, 0x10
dec rbp
jne 0x140003790
lea edi, [rbp + 8]
mov rcx, rsi
call fcn.140005610
add rsi, 2
dec rdi
jne 0x1400037a4
mov r9d, 1
mov r8d, r15d
mov edx, r14d
mov ecx, r12d
call fcn.140003c30
mov eax, dword [0x1417c0f68]
mov edi, dword [rsp + 0x58]
inc r12d
add eax, 6
cmp r12d, eax
jl 0x1400036f5
mov r13d, dword [rsp + 0x30]
mov esi, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x38]
xor r15d, r15d
test esi, esi
jne 0x140003b5a
movsxd rax, dword [rsp + 0x48]
movsxd rcx, r12d
lea rbp, [0x140000000]
imul rcx, rcx, 0x5a
add rcx, rax
cmp dword [0x1417c0f68], r15d
mov r13d, dword [rbp + rcx*4 + 0x180152c]
mov edi, r15d
jle 0x140003a3a
mov r14d, dword [rsp + 0x50]
mov r12d, r15d
movsxd rax, edi
shl rax, 7
mov qword [rax + rbx + 0x830], r15
mov qword [rax + rbx + 0x828], r15
mov qword [rax + rbx + 0x840], r15
mov qword [rax + rbx + 0x838], r15
mov qword [rax + rbx + 0x850], r15
mov qword [rax + rbx + 0x848], r15
mov qword [rax + rbx + 0x860], r15
mov qword [rax + rbx + 0x858], r15
mov qword [rax + rbx + 0x870], r15
mov qword [rax + rbx + 0x868], r15
mov qword [rax + rbx + 0x880], r15
mov qword [rax + rbx + 0x878], r15
mov qword [rax + rbx + 0x890], r15
mov qword [rax + rbx + 0x888], r15
mov qword [rax + rbx + 0x8a0], r15
mov qword [rax + rbx + 0x898], r15
cmp r13d, 3
je 0x1400038f9
cmp r13d, 4
je 0x1400038f9
mov eax, dword [0x1417c0f68]
sub eax, edi
dec eax
movzx eax, al
bt r14d, eax
jae 0x140003a12
cmp dword [0x1417c0fc0], r15d
mov edx, 1
mov ecx, edi
jne 0x140003a06
call fcn.140001550
jmp 0x140003a0b
cmp dword [0x1417c0fc0], r15d
lea rsi, [r12 + rbx + 0x828]
je 0x140003930
lea rcx, [0x1417ad9b0]
call fcn.140008430
mov rbx, qword [0x1418088e0]
movsxd rcx, eax
movzx eax, word [rbp + rcx*4 + 0x17af700]
mov word [rsi], ax
jmp 0x1400039c3
cmp dword [rbx + 0x820], 8
jge 0x140003945
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov edx, dword [rbx + 0x820]
mov eax, 0x60
sub eax, edx
movsxd rcx, eax
sar rcx, 3
movzx eax, byte [rcx + rbx + 0x811]
movzx ebp, byte [rcx + rbx + 0x810]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + rbx + 0x812]
shl ebp, 8
or ebp, eax
movzx eax, byte [rcx + rbx + 0x813]
lea ecx, [rdx - 1]
shl ebp, 8
and ecx, 7
or ebp, eax
add ecx, 0x11
lea eax, [rdx - 8]
shr ebp, cl
and ebp, dword [0x1417b1390]
add dword [rbx + 0x824], 8
mov dword [rbx + 0x820], eax
test eax, eax
jns 0x1400039b9
call fcn.1400012e0
mov rbx, qword [0x1418088e0]
mov word [rsi], bp
lea rbp, [0x140000000]
mov eax, 0xff
cmp word [rsi], ax
jne 0x1400039d5
mov eax, 0x80
mov word [rsi], ax
movzx eax, word [rsi]
shl ax, 3
mov word [rsi], ax
mov eax, dword [0x1417c0f68]
sub eax, edi
dec eax
movzx eax, al
bt r14d, eax
jae 0x140003a12
xor edx, edx
cmp dword [0x1417c0fc0], r15d
mov ecx, edi
jne 0x140003a06
call fcn.140001550
jmp 0x140003a0b
call fcn.140001b00
mov rbx, qword [0x1418088e0]
cmp dword [0x1418088ac], r15d
jne 0x140003bdc
inc edi
sub r12, 0xffffffffffffff80
cmp edi, dword [0x1417c0f68]
jl 0x140003831
mov esi, dword [rsp + 0x34]
mov r12d, dword [rsp + 0x38]
cmp dword [0x1418088dc], r15d
je 0x140003b55
mov eax, dword [0x1417c0f68]
mov edi, 6
add eax, edi
cmp eax, edi
jle 0x140003b55
nop dword [rax]
movsxd rax, edi
shl rax, 7
mov qword [rax + rbx + 0x830], r15
mov qword [rax + rbx + 0x828], r15
mov qword [rax + rbx + 0x840], r15
mov qword [rax + rbx + 0x838], r15
mov qword [rax + rbx + 0x850], r15
mov qword [rax + rbx + 0x848], r15
mov qword [rax + rbx + 0x860], r15
mov qword [rax + rbx + 0x858], r15
mov qword [rax + rbx + 0x870], r15
mov qword [rax + rbx + 0x868], r15
mov qword [rax + rbx + 0x880], r15
mov qword [rax + rbx + 0x878], r15
mov qword [rax + rbx + 0x890], r15
mov qword [rax + rbx + 0x888], r15
mov qword [rax + rbx + 0x8a0], r15
mov qword [rax + rbx + 0x898], r15
mov eax, 0x2aaaaaab
imul edi
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [0x1417c0f68]
lea ecx, [rdx + rdx*2]
add ecx, ecx
sub ecx, edi
lea ecx, [rcx + rax - 1]
movzx eax, cl
mov ecx, dword [rsp + 0x44]
bt ecx, eax
jae 0x140003b35
cmp dword [0x1417c0fc0], r15d
mov edx, 1
mov ecx, edi
jne 0x140003b29
call fcn.140001550
jmp 0x140003b2e
call fcn.140001b00
mov rbx, qword [0x1418088e0]
cmp dword [0x1418088ac], r15d
jne 0x140003bdc
mov eax, dword [0x1417c0f68]
inc edi
add eax, 6
cmp edi, eax
jl 0x140003a60
mov r13d, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x50]
mov ebp, dword [rsp + 0x40]
mov edi, dword [rsp + 0x3c]
mov dword [rsp + 0x74], r14d
mov r14d, dword [rsp + 0x44]
inc ebp
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x6c], r13d
mov dword [rsp + 0x68], r14d
mov dword [rsp + 0x64], edi
call fcn.14014fba8
lea rcx, [rax + 0x30]
call fcn.14014ff70
mov esi, dword [rsp + 0x54]
cmp ebp, esi
jl 0x140003bee
cmp dword [rsp + 0x70], 0
jne 0x140003bee
mov ecx, dword [rsp + 0x4c]
mov rbx, qword [0x1418088e0]
mov eax, 1
inc r12d
mov esi, eax
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x70], eax
lea r8, [0x140000000]
add ecx, 0x10
mov dword [rsp + 0x38], r12d
jmp 0x1400034ce
mov ebp, dword [rsp + 0x40]
mov esi, dword [rsp + 0x54]
mov r13d, dword [rsp + 0x30]
jmp 0x140002733
mov rbx, qword [0x1418088e0]
jmp 0x140002733
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.14014f690
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret