Function at 0x14004d264
Capabilities:
Parse pe header

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 - 0x138]
sub rsp, 0x210
mov rax, qword [0x1400bfa10]
xor rax, rsp
mov qword [rbp + 0x100], rax
xor r14d, r14d
mov rdi, rcx
or ecx, 0xffffffff
mov dword [rsp + 0x34], r14d
mov eax, r14d
mov dword [rsp + 0x50], ecx
mov r13d, ecx
mov qword [rsp + 0x40], rax
mov ebx, 0x1000
lea r12d, [r14 + 1]
lea esi, [rcx + 4]
lea r15d, [r14 + 2]
cmp dword [rsp + 0x34], r14d
jg 0x14004d2f4
cmp r13d, ecx
jne 0x14004d38e
lea rcx, [rdi + 0x80]
call fcn.14000f414
test eax, eax
jle 0x140050294
mov rax, qword [rsp + 0x40]
or ecx, 0xffffffff
cmp r13d, ecx
jne 0x14004d38e
cmp dword [rsp + 0x34], r14d
jne 0x14004d357
lea rbx, [rdi + 0x80]
mov rcx, rbx
lea r8, [rsp + 0x34]
lea rdx, [rsp + 0x68]
call fcn.14000f3f8
movsxd rdx, dword [rsp + 0x34]
mov ecx, 0x100
cmp rdx, rcx
cmova edx, ecx
lea rcx, [rbp]
mov dword [rsp + 0x34], edx
movsxd r8, edx
mov rdx, qword [rsp + 0x68]
call fcn.14006f9f0
mov edx, dword [rsp + 0x34]
mov rcx, rbx
call fcn.14000f290
lea rax, [rbp]
mov ebx, 0x1000
movzx edx, byte [rax]
add rax, r12
sub dword [rsp + 0x34], r12d
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x40], rax
cmp dword [rdi + 0x11b4], r15d
jne 0x14004d39c
mov rcx, qword [rdi + 0x10e8]
test rcx, rcx
je 0x14004d39c
mov r8d, r15d
call fcn.14000cfb4
mov edx, dword [rsp + 0x30]
jmp 0x14004d39c
mov edx, r13d
mov dword [rsp + 0x50], ecx
mov dword [rsp + 0x30], edx
mov r13d, ecx
cmp dword [rdi + 0x118], r14d
je 0x14004d456
lea rcx, [rdi + 0x128]
mov r8d, r12d
lea rdx, [rsp + 0x30]
call fcn.14000f160
cmp dword [rdi + 0x11c], r14d
je 0x14004d452
mov eax, dword [rsp + 0x30]
cmp eax, 0x1b
jne 0x14004d3dc
mov dword [rdi + 0x120], r12d
jmp 0x14004d430
cmp eax, 0x9b
je 0x14004d3f1
cmp eax, 0x5b
jne 0x14004d3fa
cmp dword [rdi + 0x120], r12d
jne 0x14004d429
mov dword [rdi + 0x120], r15d
jmp 0x14004d430
cmp eax, 0x34
jne 0x14004d410
cmp dword [rdi + 0x120], r15d
jne 0x14004d429
mov dword [rdi + 0x120], esi
jmp 0x14004d430
cmp eax, 0x69
jne 0x14004d429
cmp dword [rdi + 0x120], esi
jne 0x14004d429
mov dword [rdi + 0x120], 4
jmp 0x14004d430
mov dword [rdi + 0x120], r14d
cmp dword [rdi + 0x120], 4
jne 0x14004f84a
mov rcx, rdi
call fcn.140050518
mov rax, qword [rsp + 0x40]
or ecx, 0xffffffff
jmp 0x14004d2c8
mov edx, dword [rsp + 0x30]
mov r9d, dword [rdi + 0xe88]
test r9d, r9d
jne 0x14004d578
cmp dword [rdi + 0x108], r14d
jne 0x14004d53a
mov r8, qword [rdi + 0x10f0]
cmp dword [r8 + 0x10], 0xfde9
je 0x14004d53a
mov eax, dword [rdi + 0xfc]
test eax, eax
je 0x14004d4ac
cmp edx, 0x1b
ja 0x14004d4a1
mov ecx, 0x8002500
bt ecx, edx
jb 0x14004d4ac
cmp eax, r15d
jne 0x14004d4f8
bts edx, 7
jmp 0x14004d4f8
movsxd rax, dword [rdi + 0xc0]
mov ecx, dword [rdi + rax*4 + 0x1b0]
cmp ecx, 0xd800
je 0x14004d51c
mov r10d, 0xd900
cmp ecx, r10d
je 0x14004d500
cmp ecx, 0xda00
je 0x14004d4ec
cmp ecx, 0xdb00
jne 0x14004d578
cmp edx, 0x23
jne 0x14004d51c
lea edx, [r10 + 0x7d]
jmp 0x14004d534
cmp edx, 0x20
jb 0x14004d578
movzx edx, dl
or edx, 0xda00
jmp 0x14004d534
mov eax, edx
mov cl, byte [rax + r8 + 0xa14]
cmp cl, 0xff
je 0x14004d514
movzx edx, cl
jmp 0x14004d534
movzx edx, dl
or edx, r10d
jmp 0x14004d534
mov eax, edx
mov cl, byte [rax + r8 + 0xa14]
cmp cl, 0xff
jne 0x14004d50f
movzx edx, dl
or edx, 0xd800
mov dword [rsp + 0x30], edx
jmp 0x14004d578
mov r8d, dword [rdi + 0x10c]
test r8d, r8d
je 0x14004d736
lea eax, [r8 - 1]
cmp eax, 4
ja 0x14004d578
mov eax, edx
and al, 0xc0
cmp al, 0x80
je 0x14004d61f
mov r13d, edx
mov dword [rsp + 0x50], edx
mov dword [rdi + 0x10c], r14d
mov eax, 0xd961
mov dword [rsp + 0x30], eax
mov edx, eax
mov eax, edx
mov ecx, 0xffffffe0
and eax, ecx
cmp eax, 0x80
jne 0x14004d829
cmp r9d, 5
jge 0x14004d829
cmp dword [rdi + 0x188], r14d
jne 0x14004d829
mov eax, 0x10
test byte [rdi], al
je 0x14004d829
cmp edx, 0x9a
jne 0x14004d811
mov edx, r14d
mov dword [rsp + 0x30], edx
mov r8d, 0x4000
test ecx, edx
jne 0x14004dcc4
cmp dword [rdi + 0xe88], 5
jge 0x14004dcc4
cmp edx, 0xb
ja 0x14004db0a
je 0x14004dc50
sub edx, 5
je 0x14004daca
sub edx, r15d
je 0x14004d9bf
sub edx, 1
je 0x14004d95c
sub edx, 1
je 0x14004d8d8
cmp edx, 1
je 0x14004dc59
jmp 0x14005022f
mov ecx, dword [rdi + 0x110]
mov eax, edx
and eax, 0x3f
shl ecx, 6
mov edx, ecx
mov ecx, 0xffffffff
or edx, eax
lea eax, [r8 - 1]
mov dword [rdi + 0x10c], eax
test eax, eax
mov rax, qword [rsp + 0x40]
mov dword [rdi + 0x110], edx
jne 0x14004d2c8
cmp edx, 0x80
jb 0x14004d69e
cmp edx, 0x800
jae 0x14004d66c
cmp dword [rdi + 0x114], r15d
jge 0x14004d69e
cmp edx, 0x10000
jae 0x14004d67c
cmp dword [rdi + 0x114], esi
jge 0x14004d69e
cmp edx, 0x200000
jae 0x14004d68d
cmp dword [rdi + 0x114], 4
jge 0x14004d69e
cmp edx, 0x4000000
jae 0x14004d6a9
cmp dword [rdi + 0x114], 5
jl 0x14004d6a9
mov r8d, 0xd961
mov edx, r8d
jmp 0x14004d6af
mov r8d, 0xd961
lea eax, [rdx - 0x2028]
mov ecx, 0x85
cmp eax, r12d
mov eax, 0xfffd
cmovbe edx, ecx
cmp edx, 0xa0
cmovb edx, eax
lea eax, [rdx - 0xd800]
cmp eax, 0x7ff
cmovbe edx, r8d
cmp edx, 0x10ffff
cmova edx, r8d
mov dword [rsp + 0x30], edx
cmp edx, 0xe0000
jb 0x14004d709
mov rax, qword [rsp + 0x40]
mov ecx, 0xffffffff
cmp edx, 0xe007f
jbe 0x14004d2c8
mov rax, qword [rsp + 0x40]
mov ecx, 0xffffffff
cmp edx, 0xfeff
je 0x14004d2c8
lea eax, [rdx - 0xfffe]
cmp eax, r12d
ja 0x14004d578
mov edx, r8d
jmp 0x14004d534
cmp edx, 0x80
jae 0x14004d762
mov rax, qword [rdi + 0x10f0]
mov ecx, edx
mov r8b, byte [rax + rcx + 0xa14]
cmp r8b, 0xff
je 0x14004d52b
movzx edx, r8b
jmp 0x14004d534
mov eax, edx
and eax, 0xe0
cmp al, 0xc0
jne 0x14004d783
mov dword [rdi + 0x10c], r12d
and edx, 0x1f
mov dword [rdi + 0x114], r12d
jmp 0x14004d806
mov eax, edx
and eax, 0xf0
cmp al, 0xe0
jne 0x14004d7a1
mov dword [rdi + 0x10c], r15d
and edx, 0xf
mov dword [rdi + 0x114], r15d
jmp 0x14004d806
mov eax, edx
and eax, 0xf8
cmp al, 0xf0
jne 0x14004d7bd
mov dword [rdi + 0x10c], esi
and edx, 7
mov dword [rdi + 0x114], esi
jmp 0x14004d806
mov eax, edx
and eax, 0xfc
cmp al, 0xf8
jne 0x14004d7e0
mov dword [rdi + 0x10c], 4
and edx, esi
mov dword [rdi + 0x114], 4
jmp 0x14004d806
mov eax, edx
and eax, 0xfe
cmp al, 0xfc
jne 0x14004d56d
mov dword [rdi + 0x10c], 5
and edx, r12d
mov dword [rdi + 0x114], 5
mov dword [rdi + 0x110], edx
jmp 0x14004d445
and edx, 0x1f
mov dword [rdi + 0xe88], r12d
add edx, 0x40
mov dword [rdi + 0x270], r14d
mov dword [rsp + 0x30], edx
cmp edx, 0x7f
jne 0x14004d5c3
cmp dword [rdi + 0xe88], 5
mov r8d, 0x4000
jge 0x14004d5c9
test dword [rdi], r8d
je 0x14004d5c9
mov eax, dword [rdi + 0x9c]
test eax, eax
je 0x14004d869
cmp dword [rdi + 0xb8], r14d
jne 0x14004d869
dec eax
mov dword [rdi + 0x9c], eax
mov dword [rdi + 0xb8], r14d
cmp dword [rdi + 0x11cc], r14d
jne 0x14005022f
mov r8d, dword [rdi + 0x98]
mov rcx, rdi
mov edx, dword [rdi + 0x9c]
call fcn.140047f48
mov edx, dword [rdi + 0x9c]
mov rcx, rdi
mov r8d, dword [rdi + 0x98]
add edx, r12d
call fcn.140047f48
mov edx, dword [rdi + 0x98]
mov r9d, r12d
mov r8d, 0xb8e
mov rcx, rdi
call fcn.140049ca4
mov edx, dword [rdi + 0x9c]
lea r8, [rdi + 0x74]
mov rcx, rax
call fcn.1400486e8
jmp 0x14005022f
mov rbx, qword [rdi + 0x98]
mov r9d, r12d
mov edx, ebx
mov r8d, 0xc2a
mov rcx, rdi
call fcn.140049ca4
mov r9d, dword [rdi + 0x16c]
dec r9d
add dword [rdi + 0x9c], r12d
movsxd r8, dword [rdi + 0x9c]
cmp r8d, r9d
jge 0x14004d91c
mov rcx, qword [rdi + 0xe80]
cmp byte [r8 + rcx], r14b
je 0x14004d8fc
test byte [rax], sil
mov eax, dword [rdi + 0x16c]
je 0x14004d92c
cdq
sub eax, edx
sar eax, 1
cmp r8d, eax
jl 0x14004d939
dec eax
mov dword [rdi + 0x9c], eax
mov r8, qword [rdi + 0x98]
mov rdx, rbx
mov rcx, rdi
call fcn.14004801c
mov dword [rdi + 0x194], r12d
call fcn.140050b0c
jmp 0x14005022f
mov eax, dword [rdi + 0x9c]
test eax, eax
jne 0x14004d9a0
cmp dword [rdi + 0x98], r14d
je 0x14004d9ba
cmp dword [rdi + 0xb4], r14d
je 0x14004d9ba
test eax, eax
jne 0x14004d9a0
mov ecx, dword [rdi + 0x98]
test ecx, ecx
jle 0x14004d9a0
mov eax, dword [rdi + 0x16c]
sub eax, r12d
mov dword [rdi + 0x9c], eax
lea eax, [rcx - 1]
mov dword [rdi + 0x98], eax
jmp 0x14004d9ba
cmp dword [rdi + 0xb8], r14d
je 0x14004d9b2
mov dword [rdi + 0xb8], r14d
jmp 0x14004d9ba
dec eax
mov dword [rdi + 0x9c], eax
mov rcx, rdi
jmp 0x14004d94b
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ebx, eax
cmp dword [rdi + 0x54], r14d
jne 0x14004d9fe
mov edx, 0x10
mov rcx, r12
call fcn.14000fd10
mov rcx, rax
mov dword [rax + 8], ebx
mov qword [rax], r14
cmp qword [rdi + 0x40], r14
jne 0x14004d9ef
mov qword [rdi + 0x40], rax
jmp 0x14004d9f6
mov rax, qword [rdi + 0x48]
mov qword [rax], rcx
add dword [rdi + 0x50], r12d
mov qword [rdi + 0x48], rcx
mov rcx, qword [rdi + 0x40]
test rcx, rcx
je 0x14004da38
or esi, 0xffffffff
mov eax, ebx
sub eax, dword [rdi + 0x1180]
cmp dword [rcx + 8], eax
jae 0x14004da38
mov rax, qword [rcx]
mov qword [rdi + 0x40], rax
call fcn.14000fcfc
mov rcx, qword [rdi + 0x40]
test rcx, rcx
jne 0x14004da30
mov qword [rdi + 0x48], r14
add dword [rdi + 0x50], esi
test rcx, rcx
jne 0x14004da0a
mov ecx, dword [rdi + 0x1174]
test ecx, ecx
je 0x14004da74
cmp dword [rdi + 0x54], r14d
je 0x14004da5b
mov eax, ebx
sub eax, dword [rdi + 0x58]
cmp eax, dword [rdi + 0x117c]
jb 0x14004da5b
mov dword [rdi + 0x54], r14d
jmp 0x14004da74
test ecx, ecx
je 0x14004da74
cmp dword [rdi + 0x54], r14d
jne 0x14004da74
mov eax, dword [rdi + 0x1178]
cmp dword [rdi + 0x50], eax
jl 0x14004da74
mov dword [rdi + 0x54], r12d
mov dword [rdi + 0x58], ebx
test ecx, ecx
je 0x14004da85
cmp dword [rdi + 0x54], r14d
jne 0x14004d9ba
mov edx, dword [rdi + 0x1170]
mov rcx, qword [rdi + 0x10e0]
call fcn.14005e874
cmp dword [rdi + 0x1170], r15d
jne 0x14004d9ba
mov r8, rdi
mov dword [rdi + 0x178], r12d
lea rdx, [0x140051304]
mov ecx, 0x64
call fcn.140051b9c
mov dword [rdi + 0x17c], eax
jmp 0x14004d9ba
test byte [rdi], r12b
jne 0x14004dadb
mov dword [rdi + 0xe88], r14d
jmp 0x14005022f
mov rcx, qword [rdi + 0x10d8]
test rcx, rcx
je 0x14005022f
mov r9d, dword [rdi + 0x1168]
xor edx, edx
mov r8, qword [rdi + 0x1160]
mov dword [rsp + 0x20], r14d
call fcn.14000c364
jmp 0x14005022f
sub edx, 0xc
je 0x14004dc19
sub edx, 1
je 0x14004db92
sub edx, 1
je 0x14004db7a
sub edx, 1
je 0x14004db62
cmp edx, 0xc
jne 0x14005022f
cmp dword [rdi + 0x188], r14d
je 0x14004db43
mov dword [rdi + 0xe88], 9
jmp 0x14005022f
or ecx, 0xffffffff
test byte [rdi], r12b
je 0x14004feaa
mov dword [rdi + 0xe88], r12d
mov dword [rdi + 0x270], r14d
jmp 0x140050232
or ecx, 0xffffffff
test byte [rdi], r15b
je 0x14004feaa
mov dword [rdi + 0xc0], r14d
jmp 0x140050232
or ecx, 0xffffffff
test byte [rdi], r15b
je 0x14004feaa
mov dword [rdi + 0xc0], r12d
jmp 0x140050232
mov rcx, rdi
mov dword [rdi + 0x9c], r14d
mov dword [rdi + 0xb8], r14d
mov dword [rdi + 0x194], r12d
call fcn.140050b0c
cmp dword [rdi + 0x11a0], r14d
je 0x14004dbf8
mov ecx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp ecx, r8d
jne 0x14004dbe2
mov edx, dword [rdi + 0xa8]
mov r9d, r12d
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.14004ae14
jmp 0x14004dbf8
mov eax, dword [rdi + 0x168]
sub eax, r12d
cmp ecx, eax
jge 0x14004dbf8
lea eax, [rcx + 1]
mov dword [rdi + 0x98], eax
mov rcx, qword [rdi + 0x10e8]
test rcx, rcx
je 0x14005022f
mov dl, byte [rsp + 0x30]
mov r8d, r12d
call fcn.14000cfb4
jmp 0x14005022f
test dword [rdi], ebx
je 0x14004dc50
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.14004a2a8
xor r8d, r8d
xor edx, edx
mov r9d, r12d
call fcn.1400496b8
cmp dword [rdi + 0x11f4], r14d
je 0x14004d9a9
mov dword [rdi + 0x20], r14d
jmp 0x14004d9a9
test byte [rdi], r15b
je 0x14004dacf
mov ecx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp ecx, r8d
jne 0x14004dc83
mov edx, dword [rdi + 0xa8]
mov r9d, r12d
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.14004ae14
jmp 0x14004dc99
mov eax, dword [rdi + 0x168]
sub eax, r12d
cmp ecx, eax
jge 0x14004dc99
lea eax, [rcx + 1]
mov dword [rdi + 0x98], eax
cmp dword [rdi + 0x11ac], r14d
je 0x14004dca9
mov dword [rdi + 0x9c], r14d
mov rcx, rdi
mov dword [rdi + 0xb8], r14d
mov dword [rdi + 0x194], r12d
call fcn.140050b0c
jmp 0x14004dbf8
mov ecx, dword [rdi + 0xe88]
cmp ecx, 7
jg 0x14004f8b9
je 0x14004f854
test ecx, ecx
je 0x14004f41e
sub ecx, 1
je 0x14004fcd5
sub ecx, 1
je 0x14004de9b
sub ecx, 1
je 0x14004de2a
sub ecx, 1
je 0x14004ddd2
cmp ecx, r15d
jne 0x14005022f
movsxd r9, dword [rdi + 0x274]
lea r8d, [rdx - 0x30]
mov eax, r9d
neg eax
sbb ecx, ecx
and ecx, 0xfffffffa
cmp r8d, 9
jbe 0x14004dd53
cmp edx, 0x41
jl 0x14004dd3b
lea eax, [rcx + 0x4c]
cmp edx, eax
jg 0x14004dd3b
lea r8d, [rdx - 0x37]
jmp 0x14004dd53
cmp edx, 0x61
jl 0x14004dacf
lea eax, [rcx + 0x6c]
cmp edx, eax
jg 0x14004dacf
lea r8d, [rdx - 0x57]
mov byte [r9 + rdi + 0x278], r8b
add dword [rdi + 0x274], r12d
cmp dword [rdi + 0x274], 7
jl 0x14005022f
movsx ecx, byte [rdi + 0x27d]
movsx eax, byte [rdi + 0x27e]
movsx r9d, byte [rdi + 0x27b]
movsx r8d, byte [rdi + 0x279]
movsx edx, byte [rdi + 0x278]
shl ecx, 4
add ecx, eax
shl r9d, 4
movsx eax, byte [rdi + 0x27c]
add r9d, eax
shl r8d, 4
movsx eax, byte [rdi + 0x27a]
mov dword [rsp + 0x20], ecx
add r8d, eax
mov rcx, qword [rdi + 0x10e0]
call fcn.140060f84
mov rcx, rdi
call fcn.14004cb70
jmp 0x14004dacf
lea eax, [rdx - 0x30]
cmp eax, 9
ja 0x14004de14
mov eax, dword [rdi + 0x1ec]
cmp eax, 0x19999999
ja 0x14004de08
lea eax, [rax + rax*4]
lea ecx, [rax + rax]
mov eax, 0xffffffcf
sub eax, edx
cmp ecx, eax
ja 0x14004de08
lea eax, [rcx - 0x30]
add eax, edx
mov dword [rdi + 0x1ec], eax
jmp 0x14005022f
or dword [rdi + 0x1ec], 0xffffffff
jmp 0x14005022f
mov dword [rdi + 0xe88], 7
mov dword [rdi + 0x274], r14d
jmp 0x14005022f
mov eax, 0x30
mov dword [rdi + 0xa7c], r14d
cmp edx, eax
jb 0x14004de14
cmp edx, 0x39
jbe 0x14004ddda
cmp edx, 0x4c
je 0x14004de86
cmp edx, 0x50
je 0x14004de7a
cmp edx, 0x52
je 0x14004de69
cmp edx, 0x57
jne 0x14004de14
mov dword [rdi + 0xe88], 4
mov dword [rdi + 0xa7c], r12d
jmp 0x14005022f
mov rcx, qword [rdi + 0x10e0]
call fcn.140060ea0
jmp 0x14004ddc5
mov dword [rdi + 0xe88], 6
jmp 0x14004de1e
cmp dword [rdi + 0x1ec], r15d
jne 0x14004de14
mov dword [rdi + 0x1ec], r12d
jmp 0x14005022f
mov ecx, edx
mov dword [rdi + 0xe88], r14d
call fcn.14007a060
test eax, eax
je 0x14004df1a
movsxd rax, dword [rdi + 0x26c]
cmp eax, 0x20
jg 0x14004df0e
cmp dword [rdi + rax*4 + 0x1e8], r14d
jne 0x14004decb
mov dword [rdi + rax*4 + 0x1e8], r14d
movsxd rcx, dword [rdi + 0x26c]
mov eax, dword [rdi + rcx*4 + 0x1e8]
cmp eax, 0x19999999
ja 0x14004df06
mov r8d, dword [rsp + 0x30]
lea eax, [rax + rax*4]
lea edx, [rax + rax]
mov eax, 0xffffffcf
sub eax, r8d
cmp edx, eax
ja 0x14004df06
lea eax, [r8 - 0x30]
add eax, edx
mov dword [rdi + rcx*4 + 0x1e8], eax
jmp 0x14004df0e
or dword [rdi + rcx*4 + 0x1e8], 0xffffffff
mov dword [rdi + 0xe88], r15d
jmp 0x14005022f
mov ecx, dword [rsp + 0x30]
cmp ecx, 0x3b
jne 0x14004df40
movsxd rax, dword [rdi + 0x26c]
cmp eax, 0x20
jge 0x14004df0e
mov dword [rdi + rax*4 + 0x1ec], r14d
add dword [rdi + 0x26c], r12d
jmp 0x14004df0e
cmp ecx, 0x40
jae 0x14004df68
cmp dword [rdi + 0x270], r14d
je 0x14004df59
or esi, 0xffffffff
mov dword [rdi + 0x270], esi
jmp 0x14004df0e
cmp ecx, 0x3f
cmove ecx, r12d
mov dword [rdi + 0x270], ecx
jmp 0x14004df0e
mov eax, dword [rdi + 0x270]
shl eax, 8
add eax, ecx
mov ecx, 0x168
cmp eax, ecx
ja 0x14004ef8f
je 0x14004e4d7
cmp eax, 0x5a
ja 0x14004e484
je 0x14004e401
cmp eax, 0x48
ja 0x14004e131
je 0x14004e58f
sub eax, 0x40
je 0x14004e0fc
sub eax, 1
je 0x14004e0c7
sub eax, 1
je 0x14004e613
sub eax, 1
je 0x14004e6dc
sub eax, 1
je 0x14004e096
sub eax, 1
je 0x14004e061
sub eax, 1
je 0x14004e01c
cmp eax, 1
jne 0x14005022f
test dword [rdi], 0x2000
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x16c]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
cmove ecx, r12d
xor r9d, r9d
lea edx, [rcx - 1]
jmp 0x14004e0be
test dword [rdi], 0x2000
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
mov r8d, dword [rdi + 0x98]
cmove ecx, r12d
sub r8d, ecx
mov r9d, r12d
xor edx, edx
mov rcx, rdi
call fcn.14004a2a8
jmp 0x14004d94b
test dword [rdi], 0x2000
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
mov r8d, dword [rdi + 0x98]
cmove ecx, r12d
add r8d, ecx
jmp 0x14004e04f
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x16c]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
mov edx, dword [rdi + 0x9c]
cmove ecx, r12d
sub edx, ecx
mov r9d, r12d
mov r8d, dword [rdi + 0x98]
jmp 0x14004e054
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
mov r8d, dword [rdi + 0x98]
cmove ecx, r12d
sub r8d, ecx
mov r9d, r12d
mov edx, dword [rdi + 0x9c]
jmp 0x14004e054
test byte [rdi], 8
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x16c]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
cmove ecx, r12d
mov edx, ecx
mov rcx, rdi
call fcn.1400499ec
jmp 0x14004d9ba
sub eax, 0x4a
je 0x14004e3a6
sub eax, 1
je 0x14004e379
sub eax, 1
je 0x14004e334
sub eax, 1
je 0x14004e2e3
sub eax, esi
je 0x14004e2b6
sub eax, esi
je 0x14004e28f
sub eax, 1
je 0x14004e246
cmp eax, 4
jne 0x14005022f
test byte [rdi], r12b
je 0x14004dacf
mov ebx, dword [rdi + 0x1ec]
mov r9d, r12d
mov eax, dword [rdi + 0x16c]
mov r8d, 0x1035
cmp ebx, eax
mov rcx, rdi
cmova ebx, eax
mov dword [rdi + 0x1ec], ebx
test ebx, ebx
mov edx, dword [rdi + 0x98]
mov esi, dword [rdi + 0x9c]
cmove ebx, r12d
call fcn.140049ca4
mov ecx, dword [rdi + 0x16c]
mov r15, rax
mov edx, dword [rdi + 0x9c]
sub ecx, edx
mov r8d, dword [rdi + 0x98]
cmp ebx, ecx
cmovg ebx, ecx
mov rcx, qword [rdi + 0x98]
mov qword [rsp + 0x38], rcx
shr rcx, 0x20
add ecx, ebx
mov dword [rsp + 0x3c], ecx
mov rcx, rdi
call fcn.140047f48
mov edx, dword [rdi + 0x9c]
mov rcx, rdi
mov r8d, dword [rdi + 0x98]
add edx, ebx
call fcn.140047f48
mov r8, qword [rsp + 0x38]
mov rcx, rdi
mov rdx, qword [rdi + 0x98]
call fcn.14004801c
test ebx, ebx
je 0x14004d9ba
lea r8, [rdi + 0x74]
mov edx, esi
mov rcx, r15
call fcn.1400486e8
add esi, r12d
sub ebx, r12d
jne 0x14004e228
xor r14d, r14d
jmp 0x14004d9ba
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
mov dword [rdi + 0x1ec], ecx
test dword [rdi], ebx
je 0x14004dacf
test ecx, ecx
cmove ecx, r12d
neg ecx
mov r8d, dword [rdi + 0xac]
mov r9d, ecx
mov edx, dword [rdi + 0xa8]
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.14004ae14
jmp 0x14004d9a9
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
mov dword [rdi + 0x1ec], ecx
test dword [rdi], ebx
je 0x14004dacf
test ecx, ecx
cmove ecx, r12d
jmp 0x14004e26d
test byte [rdi], 8
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x16c]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
cmove ecx, r12d
neg ecx
jmp 0x14004e122
test byte [rdi], 8
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
mov dword [rdi + 0x1ec], ecx
mov edx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp edx, r8d
jg 0x14004d9ba
test ecx, ecx
mov dword [rsp + 0x20], r12d
cmove ecx, r12d
mov r9d, ecx
mov rcx, rdi
call fcn.14004ae14
jmp 0x14004d9ba
test byte [rdi], 8
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
mov dword [rdi + 0x1ec], ecx
mov edx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp edx, r8d
jg 0x14004d9ba
test ecx, ecx
mov dword [rsp + 0x20], r14d
cmove ecx, r12d
neg ecx
jmp 0x14004e324
mov r8d, dword [rdi + 0x1ec]
mov edx, r12d
inc r8d
mov rcx, rdi
cmp r8d, esi
cmova r8d, r14d
mov r9d, r8d
shr r8d, 1
and r8d, r12d
and r9d, r12d
call fcn.1400496b8
jmp 0x14004d9ba
mov eax, dword [rdi + 0x1ec]
test eax, eax
jne 0x14004e3ea
mov eax, r14d
add eax, r12d
mov rcx, rdi
cmp eax, esi
cmova eax, r14d
xor edx, edx
mov r9d, eax
shr eax, 1
and eax, r12d
and r9d, r12d
mov r8d, eax
call fcn.1400496b8
cmp dword [rdi + 0x11f4], r14d
je 0x14004d9ba
mov dword [rdi + 0x20], r14d
jmp 0x14004d9ba
cmp eax, esi
jne 0x14004e3b3
cmp dword [rdi + 0x11e0], r14d
jne 0x14004e3d4
mov rcx, rdi
call fcn.14004bda4
jmp 0x14004e3d4
test dword [rdi], 0x4000
je 0x14004dacf
mov r8d, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x16c]
cmp r8d, eax
cmova r8d, eax
test r8d, r8d
mov dword [rdi + 0x1ec], r8d
mov rdx, qword [rdi + 0x98]
cmove r8d, r12d
test r8d, r8d
jle 0x14004e470
or esi, 0xffffffff
cmp dword [rdi + 0x9c], r14d
jle 0x14004e470
add dword [rdi + 0x9c], esi
movsxd rax, dword [rdi + 0x9c]
test eax, eax
jle 0x14004e468
mov rcx, rax
mov rax, qword [rdi + 0xe80]
cmp byte [rcx + rax], r14b
je 0x14004e447
sub r8d, r12d
test r8d, r8d
jg 0x14004e43e
mov r8, qword [rdi + 0x98]
mov rcx, rdi
call fcn.14004801c
jmp 0x14005022f
cmp eax, 0x69
ja 0x14004e706
je 0x14004f1cf
sub eax, 0x60
je 0x14004dfe8
sub eax, 1
je 0x14004e6d0
sub eax, r15d
je 0x14004e691
sub eax, 1
je 0x14004e63f
sub eax, 1
je 0x14004e607
sub eax, 1
je 0x14004e58f
sub eax, 1
je 0x14004e51f
cmp eax, 1
jne 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
mov esi, r14d
cmp dword [rdi + 0x26c], r14d
jle 0x14005022f
lea rbx, [rdi + 0x1ec]
mov r8d, dword [rdi + 0x270]
mov r9d, r12d
mov edx, dword [rbx]
mov rcx, rdi
call fcn.1400514b8
add esi, r12d
lea rbx, [rbx + 4]
cmp esi, dword [rdi + 0x26c]
jl 0x14004e4f7
jmp 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
cmp dword [rdi + 0x26c], r12d
jne 0x14005022f
mov eax, dword [rdi + 0x1ec]
test eax, eax
jne 0x14004e556
movsxd rcx, dword [rdi + 0x9c]
mov rax, qword [rdi + 0xe80]
mov byte [rcx + rax], r14b
jmp 0x14005022f
cmp eax, esi
jne 0x14005022f
mov ecx, r14d
mov rdx, r14
cmp dword [rdi + 0x16c], r14d
jle 0x14005022f
mov rax, qword [rdi + 0xe80]
add ecx, r12d
mov byte [rdx + rax], r14b
add rdx, r12
cmp ecx, dword [rdi + 0x16c]
jl 0x14004e571
jmp 0x14005022f
cmp dword [rdi + 0x26c], r15d
jge 0x14004e59f
mov dword [rdi + 0x1f0], r14d
mov eax, dword [rdi + 0x168]
mov ecx, dword [rdi + 0x1ec]
cmp ecx, eax
mov edx, dword [rdi + 0x1f0]
cmova ecx, eax
mov dword [rdi + 0x1ec], ecx
mov eax, dword [rdi + 0x16c]
cmp edx, eax
cmova edx, eax
mov dword [rdi + 0x1f0], edx
mov r8d, dword [rdi + 0xb0]
test r8d, r8d
je 0x14004e5e1
mov eax, dword [rdi + 0xa8]
jmp 0x14004e5e4
mov eax, r14d
test ecx, ecx
cmove ecx, r12d
test edx, edx
cmove edx, r12d
neg r8d
sbb r9d, r9d
lea r8d, [rcx - 1]
and r9d, r15d
add r8d, eax
dec edx
jmp 0x14004e054
test dword [rdi], 0x2000
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
mov r8d, dword [rdi + 0x98]
cmove ecx, r12d
add r8d, ecx
jmp 0x14004e0ee
test dword [rdi], 0x2000
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x168]
cmp ecx, eax
cmova ecx, eax
mov dword [rdi + 0x1ec], ecx
mov edx, dword [rdi + 0xb0]
test edx, edx
je 0x14004e674
mov eax, dword [rdi + 0xa8]
jmp 0x14004e677
mov eax, r14d
test ecx, ecx
cmove ecx, r12d
neg edx
sbb r9d, r9d
and r9d, r15d
lea r8d, [rcx - 1]
add r8d, eax
jmp 0x14004e0f1
test byte [rdi], r15b
je 0x14004dacf
cmp qword [rdi + 0x10d8], r14
je 0x14005022f
lea rbx, [rdi + 0xa80]
mov rcx, rbx
call fcn.140071b40
mov r8, rax
mov rdx, rbx
mov rcx, qword [rdi + 0x10d8]
xor r9d, r9d
call fcn.14000bb64
jmp 0x14005022f
test dword [rdi], 0x2000
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
mov eax, dword [rdi + 0x16c]
cmp ecx, eax
cmova ecx, eax
test ecx, ecx
mov dword [rdi + 0x1ec], ecx
mov edx, dword [rdi + 0x9c]
cmove ecx, r12d
add edx, ecx
jmp 0x14004e0bb
sub eax, 0x6c
je 0x14004f187
sub eax, 1
je 0x14004ec74
sub eax, 1
je 0x14004ec09
sub eax, 4
je 0x14004eb60
sub eax, 1
je 0x14004eb50
sub eax, 1
je 0x14004e7a7
sub eax, 1
je 0x14004e798
cmp eax, esi
jne 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
cmp qword [rdi + 0x10d8], r14
je 0x14005022f
mov ebx, dword [rdi + 0x1ec]
test ebx, ebx
jne 0x14004e76a
mov ebx, r14d
jmp 0x14004e773
cmp ebx, r12d
jne 0x14005022f
lea rdx, str.e_2_1_1_112_112_1_0x
lea rcx, [rsp + 0x70]
call fcn.14007ae90
add byte [rsp + 0x72], bl
mov r8d, 0x14
lea rdx, [rsp + 0x70]
jmp 0x14004e6bc
xor edx, edx
mov rcx, rdi
call fcn.14004acd0
jmp 0x14004d9ba
mov edx, dword [rdi + 0x26c]
cmp edx, r12d
jg 0x14004e820
mov ecx, dword [rdi + 0x1ec]
lea eax, [rcx - 1]
cmp eax, 0x16
jbe 0x14004e817
mov eax, 0x100
test dword [rdi], eax
je 0x14004dacf
cmp dword [rdi + 0x11d8], r14d
jne 0x14004e7f5
test ecx, ecx
mov eax, 0x18
cmove ecx, eax
mov r8d, ecx
mov edx, dword [rdi + 0x16c]
mov rcx, qword [rdi + 0x10e0]
call fcn.14006122c
mov dword [rdi + 0xe8c], r14d
mov qword [rdi + 0xea0], 0
mov qword [rdi + 0xe98], 0
jmp 0x14005022f
cmp edx, r12d
jl 0x14005022f
mov ecx, dword [rdi + 0x1ec]
lea eax, [rcx - 1]
cmp eax, 0x16
ja 0x14005022f
test dword [rdi], 0x4000
je 0x14004dacf
cmp ecx, 9
ja 0x14004e968
je 0x14004e941
sub ecx, 1
je 0x14004e93d
sub ecx, 1
je 0x14004e929
sub ecx, 1
je 0x14004e8f6
sub ecx, r15d
je 0x14004e8f1
sub ecx, 1
je 0x14004e8de
sub ecx, 1
je 0x14004e8cd
cmp ecx, 1
jne 0x14005022f
cmp edx, esi
jl 0x14005022f
cmp dword [rdi + 0x11d8], r14d
jne 0x14005022f
mov r8d, dword [rdi + 0x1f0]
test r8d, r8d
jne 0x14004e8ac
mov r8d, dword [rdi + 0x1198]
mov edx, dword [rdi + 0x1f4]
test edx, edx
jne 0x14004e8bc
mov edx, dword [rdi + 0x119c]
mov rcx, qword [rdi + 0x10e0]
call fcn.14006122c
jmp 0x14005022f
mov rcx, qword [rdi + 0x10e0]
call fcn.1400611e8
jmp 0x14005022f
xor edx, edx
mov rcx, qword [rdi + 0x10e0]
call fcn.140061c98
jmp 0x14005022f
mov edx, r12d
jmp 0x14004e8e0
cmp edx, esi
jl 0x14005022f
cmp dword [rdi + 0x11d8], r14d
jne 0x14005022f
mov r8d, dword [rdi + 0x1f4]
mov edx, dword [rdi + 0x1f0]
mov rcx, qword [rdi + 0x10e0]
call fcn.140060d04
jmp 0x14005022f
mov edx, r12d
mov rcx, qword [rdi + 0x10e0]
call fcn.140061a80
jmp 0x14005022f
xor edx, edx
jmp 0x14004e92c
cmp edx, r15d
jl 0x14005022f
cmp dword [rdi + 0x1f0], r14d
mov edx, r14d
mov rcx, qword [rdi + 0x10e0]
setne dl
call fcn.140061c58
jmp 0x14005022f
sub ecx, 0xb
je 0x14004eb18
sub ecx, r15d
je 0x14004eadf
sub ecx, 1
je 0x14004eaa9
sub ecx, 4
je 0x14004ea72
sub ecx, r15d
je 0x14004ea23
cmp ecx, 1
jne 0x14005022f
cmp qword [rdi + 0x10d8], r14
je 0x14005022f
mov eax, dword [rdi + 0x11ec]
test eax, eax
je 0x14005022f
cmp eax, r15d
jne 0x14004e9d1
mov rcx, qword [rdi + 0x10e0]
xor edx, edx
call fcn.14006037c
mov rsi, rax
jmp 0x14004e9d8
mov rsi, qword [str.O_f_t_]
mov rcx, rsi
call fcn.140071b40
lea rdx, [0x1400a8314]
mov rcx, qword [rdi + 0x10d8]
mov r8d, 3
xor r9d, r9d
mov rbx, rax
call fcn.14000bb64
mov rcx, qword [rdi + 0x10d8]
xor r9d, r9d
mov r8d, ebx
mov rdx, rsi
call fcn.14000bb64
mov r8d, r15d
lea rdx, [0x1400a8310]
jmp 0x14004e6bc
cmp qword [rdi + 0x10d8], r14
je 0x14005022f
mov eax, dword [rdi + 0x11ec]
test eax, eax
je 0x14005022f
cmp eax, r15d
jne 0x14004ea57
mov rcx, qword [rdi + 0x10e0]
mov edx, r12d
call fcn.14006037c
mov rsi, rax
jmp 0x14004ea5e
mov rsi, qword [str.O_f_t_]
mov rcx, rsi
call fcn.140071b40
lea rdx, [0x1400a830c]
jmp 0x14004e9e7
cmp qword [rdi + 0x10d8], r14
je 0x14005022f
mov r9d, dword [rdi + 0x16c]
lea rdx, str.e_8__d__dt
mov r8d, dword [rdi + 0x168]
lea rcx, [rbp - 0x50]
call fcn.14000a3b8
mov r8d, eax
lea rdx, [rbp - 0x50]
jmp 0x14004e6bc
cmp qword [rdi + 0x10d8], r14
je 0x14005022f
mov rcx, qword [rdi + 0x10e0]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x4c]
call fcn.1400602c4
mov r9d, dword [rsp + 0x4c]
lea rdx, str.e_4__d__dt
mov r8d, dword [rsp + 0x48]
jmp 0x14004ea94
cmp qword [rdi + 0x10d8], r14
je 0x14005022f
mov rcx, qword [rdi + 0x10e0]
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x4c]
call fcn.140060324
mov r9d, dword [rsp + 0x48]
lea rdx, str.e_3__u__ut
mov r8d, dword [rsp + 0x4c]
jmp 0x14004ea94
cmp qword [rdi + 0x10d8], r14
je 0x14005022f
mov rcx, qword [rdi + 0x10e0]
call fcn.140060b64
test eax, eax
lea rcx, str.e_2t
lea rdx, str.e_1t
mov r8d, 4
cmovne rdx, rcx
jmp 0x14004e6bc
mov edx, r12d
mov rcx, rdi
call fcn.14004acd0
jmp 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
cmp dword [rdi + 0x26c], r15d
jg 0x14005022f
mov eax, dword [rdi + 0x168]
mov ecx, dword [rdi + 0x1ec]
cmp ecx, eax
mov edx, dword [rdi + 0x1f0]
cmova ecx, eax
mov dword [rdi + 0x1ec], ecx
mov eax, dword [rdi + 0x168]
cmp edx, eax
cmova edx, eax
test ecx, ecx
mov dword [rdi + 0x1f0], edx
cmove ecx, r12d
lea r8d, [rcx - 1]
cmp dword [rdi + 0x26c], r12d
jle 0x14004ebbb
test edx, edx
jne 0x14004ebc1
mov edx, dword [rdi + 0x168]
mov eax, dword [rdi + 0x168]
dec edx
cmp edx, eax
jl 0x14004ebd0
lea edx, [rax - 1]
mov eax, edx
sub eax, r8d
test eax, eax
jle 0x14005022f
mov eax, dword [rdi + 0xb0]
neg eax
mov dword [rdi + 0xa8], r8d
mov dword [rdi + 0xac], edx
sbb ecx, ecx
mov dword [rdi + 0x9c], r14d
and ecx, r8d
mov dword [rdi + 0x98], ecx
jmp 0x14004d9ba
mov rcx, qword [rdi + 0x10d8]
test rcx, rcx
je 0x14005022f
mov eax, dword [rdi + 0x1ec]
cmp eax, 6
jne 0x14004ec5b
mov r9d, dword [rdi + 0x9c]
lea rdx, str.e__d__dR
mov r8d, dword [rdi + 0x98]
lea rcx, [rsp + 0x70]
add r9d, r12d
add r8d, r12d
call fcn.14000a3b8
lea rcx, [rsp + 0x70]
call fcn.140071b40
mov r8, rax
jmp 0x14004e78e
cmp eax, 5
jne 0x14005022f
lea r8d, [rax - 1]
lea rdx, str.e_0n
jmp 0x14004e6c3
mov r12d, r14d
cmp dword [rdi + 0x26c], r14d
jle 0x14004ef7c
mov esi, r15d
lea rbx, [rdi + 0x1ec]
lea r15, [rdi + 0x1f4]
xor r13d, r13d
lea r14, [rdi + 0x1f0]
mov eax, dword [rbx]
test eax, eax
jne 0x14004ecaa
mov eax, r13d
jmp 0x14004ecd6
cmp eax, 0x61
ja 0x14004ef3c
cmp eax, 0x5a
jae 0x14004ef2e
cmp eax, 0x16
ja 0x14004ee0c
je 0x14004edf6
cmp eax, 7
ja 0x14004ed56
je 0x14004ed4c
test eax, eax
je 0x14004ed41
sub eax, 1
je 0x14004ed26
sub eax, 3
je 0x14004ed76
sub eax, 1
je 0x14004ed17
cmp eax, 1
jne 0x14004ef56
test dword [rdi], 0x1000
je 0x14004ed2b
bts dword [rdi + 0x60], 0x15
mov rcx, rdi
mov dword [rdi + 0xf0], r13d
call fcn.140050ab4
jmp 0x14004ef56
test byte [rdi], 4
je 0x14004ed2b
bts dword [rdi + 0x60], 0x15
jmp 0x14004ef56
test byte [rdi], 4
jne 0x14004ed37
mov dword [rdi + 0xe88], r13d
jmp 0x14004ef56
bts dword [rdi + 0x60], 0x12
jmp 0x14004ef56
mov eax, dword [rdi + 0x5c]
mov dword [rdi + 0x60], eax
jmp 0x14004ef56
bts dword [rdi + 0x60], 0x14
jmp 0x14004ef56
sub eax, 0xa
je 0x14004edd1
sub eax, 1
je 0x14004eda9
sub eax, 1
je 0x14004ed85
cmp eax, 9
jne 0x14004ef56
test dword [rdi], 0x4000
je 0x14004ed2b
test byte [rdi], 4
je 0x14004ed2b
bts dword [rdi + 0x60], 0x13
jmp 0x14004ef56
test dword [rdi], 0x1000
je 0x14004ed2b
cmp dword [rdi + 0x11d4], r13d
jne 0x14004ef56
mov dword [rdi + 0xfc], 2
jmp 0x14004ef56
test dword [rdi], 0x1000
je 0x14004ed2b
cmp dword [rdi + 0x11d4], r13d
jne 0x14004ef56
mov dword [rdi + 0xfc], 1
jmp 0x14004ef56
test dword [rdi], 0x1000
je 0x14004ed2b
cmp dword [rdi + 0x11d4], r13d
jne 0x14004ef56
mov dword [rdi + 0xfc], r13d
jmp 0x14004ef56
test dword [rdi], 0x4010
je 0x14004ed2b
btr dword [rdi + 0x60], 0x12
jmp 0x14004ef56
cmp eax, 0x26
ja 0x14004eeac
je 0x14004ee89
mov ecx, 0x18
cmp eax, ecx
je 0x14004ee73
cmp eax, 0x19
je 0x14004ee5d
cmp eax, 0x1b
je 0x14004ee47
add eax, 0xffffffe2
cmp eax, 7
ja 0x14004ef56
and dword [rdi + 0x60], 0xfffffe00
mov eax, dword [rbx]
sub eax, 0x1e
jmp 0x14004ef53
test dword [rdi], 0x4010
je 0x14004ed2b
btr dword [rdi + 0x60], 0x14
jmp 0x14004ef56
test dword [rdi], 0x4010
je 0x14004ed2b
btr dword [rdi + 0x60], 0x15
jmp 0x14004ef56
test dword [rdi], 0x4010
je 0x14004ed2b
btr dword [rdi + 0x60], 0x13
jmp 0x14004ef56
cmp esi, dword [rdi + 0x26c]
jge 0x14004ef56
cmp dword [r14], 5
jne 0x14004ef56
and dword [rdi + 0x60], 0xfffffe00
movzx eax, byte [r15]
jmp 0x14004eefa
cmp eax, 0x27
je 0x14004ef20
jbe 0x14004ef56
cmp eax, 0x2f
jbe 0x14004ef12
mov ecx, 0x30
cmp eax, ecx
je 0x14004eede
cmp eax, 0x31
jne 0x14004ef56
and dword [rdi + 0x60], 0xfffe05ff
or dword [rdi + 0x60], 0x20400
jmp 0x14004ef56
cmp esi, dword [rdi + 0x26c]
jge 0x14004ef56
cmp dword [r14], 5
jne 0x14004ef56
and dword [rdi + 0x60], 0xfffc01ff
movzx eax, byte [r15]
shl eax, 9
or dword [rdi + 0x60], eax
add r12d, 2
add esi, 2
add r14, 8
add r15, 8
add rbx, 8
jmp 0x14004ef56
and dword [rdi + 0x60], 0xfffc01ff
mov eax, dword [rbx]
sub eax, 0x28
jmp 0x14004ef50
and dword [rdi + 0x60], 0xffffff00
mov eax, 0x100
jmp 0x14004ef53
and dword [rdi + 0x60], 0xfffffe00
mov eax, dword [rbx]
sub eax, 0x52
jmp 0x14004ef53
add eax, 0xffffff9c
cmp eax, 7
ja 0x14004ef56
and dword [rdi + 0x60], 0xfffc01ff
mov eax, dword [rbx]
sub eax, 0x5c
shl eax, 9
or dword [rdi + 0x60], eax
inc r12d
inc esi
add r14, 4
add r15, 4
add rbx, 4
cmp r12d, dword [rdi + 0x26c]
jl 0x14004ec9f
mov r13d, dword [rsp + 0x50]
xor r14d, r14d
mov rcx, rdi
call fcn.14004b488
mov r12d, 1
jmp 0x14005022f
mov ecx, 0x3d44
cmp eax, ecx
ja 0x14004f2a3
je 0x14004f26f
sub eax, 0x169
je 0x14004f1cf
sub eax, esi
je 0x14004f187
sub eax, 0x2104
je 0x14004f089
sub eax, 0x20c
je 0x14004f044
sub eax, 0x600
je 0x14004f00b
cmp eax, 0x12c7
jne 0x14005022f
test dword [rdi], ebx
je 0x14004dacf
cmp dword [rdi + 0x26c], r15d
jl 0x14005022f
mov eax, dword [rdi + 0x1f0]
mov ecx, r14d
cmp dword [rdi + 0x1ec], eax
setbe cl
mov dword [rdi + 0xdc], ecx
jmp 0x14005022f
test byte [rdi], 0x40
je 0x14004dacf
cmp dword [rdi + 0x26c], r12d
jne 0x14005022f
mov eax, dword [rdi + 0x1ec]
test eax, eax
je 0x14005022f
cmp dword [rdi + 0x11d8], r14d
jne 0x14004e7f5
mov r8d, eax
jmp 0x14004e7e3
mov eax, 0x100
test dword [rdi], eax
je 0x14004dacf
cmp dword [rdi + 0x26c], r12d
jg 0x14005022f
cmp dword [rdi + 0x11d8], r14d
jne 0x14004e7f5
mov eax, dword [rdi + 0x1ec]
test eax, eax
jne 0x14004f07b
mov eax, dword [rdi + 0x119c]
mov r8d, dword [rdi + 0x168]
mov edx, eax
jmp 0x14004e7e9
mov ecx, dword [rdi + 0x1ec]
mov eax, ecx
test ecx, ecx
je 0x14004f0e9
sub eax, 0x28
je 0x14004f0e1
sub eax, 1
je 0x14004f0e9
sub eax, 1
je 0x14004f0d9
sub eax, 8
je 0x14004f0ef
sub eax, 0xb
je 0x14004f0ce
cmp eax, 1
je 0x14004f0c3
lea eax, [rcx - 0x3d]
cmp eax, 8
ja 0x14004f0ef
or dword [rdi], 0x1ff
jmp 0x14004f0ef
and dword [rdi], 0xfffffe1f
or dword [rdi], 0x1f
jmp 0x14004f0ef
and dword [rdi], 0xfffffe0f
or dword [rdi], 0xf
jmp 0x14004f0ef
mov dword [rdi], 0x1001
jmp 0x14004f0ef
and dword [rdi], 0x1ff
jmp 0x14004f0ef
mov dword [rdi], 0xffff
cmp dword [rdi + 0x1ec], 0x32
jne 0x14005022f
lea rbx, [rdi + 0xa80]
mov rcx, rbx
lea rdx, [0x1400a8330]
call fcn.14007ae90
mov r15d, r12d
mov rsi, r12
cmp dword [rdi + 0x26c], r12d
jle 0x14004f173
lea r14, [rdi + 0x1f0]
cmp rsi, r12
je 0x14004f13c
lea rdx, [0x1400a8334]
mov rcx, rbx
call fcn.14007adf0
mov r8d, dword [r14]
lea rdx, [0x14009167c]
lea rcx, [rsp + 0x70]
call fcn.14000a3b8
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14007adf0
add r15d, r12d
add rsi, r12
add r14, 4
cmp r15d, dword [rdi + 0x26c]
jl 0x14004f128
xor r14d, r14d
lea rdx, [0x1400a8338]
mov rcx, rbx
call fcn.14007adf0
jmp 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
mov esi, r14d
cmp dword [rdi + 0x26c], r14d
jle 0x14005022f
lea rbx, [rdi + 0x1ec]
mov r8d, dword [rdi + 0x270]
xor r9d, r9d
mov edx, dword [rbx]
mov rcx, rdi
call fcn.1400514b8
add esi, r12d
lea rbx, [rbx + 4]
cmp esi, dword [rdi + 0x26c]
jl 0x14004f1a7
jmp 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
cmp dword [rdi + 0x26c], r12d
jne 0x14005022f
cmp dword [rdi + 0x1ec], 5
jne 0x14004f248
mov rcx, qword [rdi + 0x10f8]
mov edx, 0x81
call fcn.140002ebc
mov rbx, rax
cmp byte [rax], r14b
je 0x14004f248
cmp dword [rdi + 0x270], r14d
mov ecx, r14d
mov dword [rdi + 0x118], r12d
sete cl
mov dword [rdi + 0x120], r14d
mov dword [rdi + 0x11c], ecx
lea rcx, [rdi + 0x128]
call fcn.14000f258
mov rcx, rbx
call fcn.140069724
mov qword [rdi + 0x140], rax
jmp 0x14005022f
cmp dword [rdi + 0x1ec], 4
jne 0x14005022f
cmp dword [rdi + 0x118], r14d
je 0x14005022f
mov rcx, rdi
call fcn.140050518
jmp 0x14005022f
test dword [rdi], ebx
je 0x14004dacf
mov rcx, rdi
mov dword [rdi + 0xf0], r14d
call fcn.140050ab4
cmp dword [rdi + 0x1ec], r12d
jb 0x14004f299
bts dword [rdi + 0x60], 0x15
jmp 0x14005022f
btr dword [rdi + 0x60], 0x15
jmp 0x14005022f
sub eax, 0x3d45
je 0x14004f3f6
sub eax, 1
je 0x14004f3bf
sub eax, 1
je 0x14004f379
sub eax, 5
je 0x14004f351
sub eax, 0x17
je 0x14004f309
mov ecx, 0x100
cmp eax, ecx
jne 0x14005022f
test dword [rdi], 0x4000
je 0x14004dacf
mov rcx, qword [rdi + 0x10d8]
test rcx, rcx
je 0x14005022f
mov r8d, 0xb
lea rdx, str.e__0_136_0c
jmp 0x14004e6c3
test dword [rdi], ebx
je 0x14004dacf
mov ecx, dword [rdi + 0x1ec]
test ecx, ecx
je 0x14004f345
sub ecx, 1
je 0x14004f33c
cmp ecx, 1
jne 0x14005022f
mov dword [rdi + 0x198], r12d
mov dword [rdi + 0xdc], r12d
jmp 0x14005022f
mov dword [rdi + 0x198], r14d
jmp 0x14004f330
mov dword [rdi + 0xdc], r14d
jmp 0x14005022f
test dword [rdi], ebx
je 0x14004dacf
cmp dword [rdi + 0x1ec], r14d
mov eax, r14d
setbe al
mov dword [rdi + 0xe4], eax
mov rcx, rdi
call fcn.14004b488
jmp 0x14005022f
test dword [rdi], ebx
je 0x14004dacf
mov edx, dword [rdi + 0x1ec]
mov eax, 0x10
cmp edx, eax
jae 0x14005022f
mov eax, edx
lea rcx, [0x1400a7cc0]
and edx, 8
and eax, 7
movsx ecx, byte [rax + rcx]
or ecx, edx
mov edx, 0xfffc01ff
shl ecx, 9
and dword [rdi + 0x60], edx
or dword [rdi + 0x60], ecx
and dword [rdi + 0x5c], edx
or dword [rdi + 0x5c], ecx
jmp 0x14004f36c
test dword [rdi], ebx
je 0x14004dacf
mov edx, dword [rdi + 0x1ec]
mov eax, 0x10
cmp edx, eax
jae 0x14005022f
mov eax, edx
lea rcx, [0x1400a7cc0]
and eax, 7
and edx, 8
movsx ecx, byte [rax + rcx]
or ecx, edx
mov edx, 0xfffffe00
jmp 0x14004f3b1
test dword [rdi], ebx
je 0x14004dacf
cmp dword [rdi + 0x1ec], r12d
mov eax, r14d
setae al
mov rcx, rdi
mov dword [rdi + 0xf0], eax
call fcn.140050ab4
jmp 0x14005022f
mov edx, dword [rdi + 0x98]
mov r9d, r12d
mov r8d, 0xc44
mov rcx, rdi
call fcn.140049ca4
mov ecx, dword [rsp + 0x30]
mov rsi, rax
and ecx, 0xfffffc00
cmp ecx, 0xd800
jne 0x14004f44f
mov ebx, r12d
jmp 0x14004f46a
mov ecx, dword [rsp + 0x30]
cmp dword [rdi + 0x1194], r14d
je 0x14004f463
call fcn.140052bec
jmp 0x14004f468
call fcn.140052ae8
mov ebx, eax
cmp dword [rdi + 0xb8], r14d
je 0x14004f4f0
cmp dword [rdi + 0xb4], r14d
je 0x14004f4f0
test ebx, ebx
jle 0x14004f4f0
mov eax, 0x10
or word [rsi], ax
mov ecx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp ecx, r8d
jne 0x14004f4b2
mov edx, dword [rdi + 0xa8]
mov r9d, r12d
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.14004ae14
jmp 0x14004f4c8
mov eax, dword [rdi + 0x168]
sub eax, r12d
cmp ecx, eax
jge 0x14004f4c8
lea eax, [rcx + 1]
mov dword [rdi + 0x98], eax
mov edx, dword [rdi + 0x98]
mov r9d, r12d
mov r8d, 0xc55
mov dword [rdi + 0x9c], r14d
mov rcx, rdi
mov dword [rdi + 0xb8], r14d
call fcn.140049ca4
mov rsi, rax
cmp dword [rdi + 0xbc], r14d
je 0x14004f507
test ebx, ebx
jle 0x14004f507
mov edx, ebx
mov rcx, rdi
call fcn.1400499ec
cmp dword [rdi + 0xe8c], r14d
je 0x14004f54d
mov rax, qword [rdi + 0x98]
mov qword [rsp + 0x38], rax
shr rax, 0x20
cmp eax, dword [rdi + 0x16c]
jne 0x14004f534
add dword [rsp + 0x38], r12d
mov dword [rsp + 0x3c], r14d
jmp 0x14004f539
add dword [rsp + 0x3c], r12d
mov r8, qword [rsp + 0x38]
mov rcx, rdi
mov rdx, qword [rdi + 0x98]
call fcn.14004801c
mov eax, dword [rsp + 0x30]
and eax, 0xffffff00
cmp eax, 0xd800
je 0x14004f561
test eax, eax
jne 0x14004f579
mov rcx, qword [rdi + 0x10e8]
test rcx, rcx
je 0x14004f579
mov dl, byte [rsp + 0x30]
mov r8d, r12d
call fcn.14000cfb4
test ebx, ebx
je 0x14004f7db
sub ebx, 1
je 0x14004f6de
cmp ebx, 1
jne 0x14004f845
mov r8d, dword [rdi + 0x98]
mov rcx, rdi
mov edx, dword [rdi + 0x9c]
call fcn.140047f48
mov edx, dword [rdi + 0x9c]
mov rcx, rdi
mov r8d, dword [rdi + 0x98]
add edx, r15d
call fcn.140047f48
mov eax, dword [rdi + 0x16c]
mov edx, dword [rdi + 0x9c]
sub eax, r12d
cmp edx, eax
jne 0x14004f677
lea r8, [rdi + 0x74]
mov rcx, rsi
call fcn.1400486e8
lea eax, [rbx + 0x2f]
or word [rsi], ax
mov ecx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp ecx, r8d
jne 0x14004f613
mov edx, dword [rdi + 0xa8]
mov r9d, r12d
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.14004ae14
jmp 0x14004f629
mov eax, dword [rdi + 0x168]
sub eax, r12d
cmp ecx, eax
jge 0x14004f629
lea eax, [rcx + 1]
mov dword [rdi + 0x98], eax
mov edx, dword [rdi + 0x98]
mov r9d, r12d
mov r8d, 0xc85
mov dword [rdi + 0x9c], r14d
mov rcx, rdi
call fcn.140049ca4
mov r8d, dword [rdi + 0x98]
mov rcx, rdi
mov edx, dword [rdi + 0x9c]
mov rsi, rax
call fcn.140047f48
mov edx, dword [rdi + 0x9c]
mov rcx, rdi
mov r8d, dword [rdi + 0x98]
add edx, r15d
call fcn.140047f48
mov edx, dword [rdi + 0x9c]
mov rcx, rsi
call fcn.140048068
movsxd rax, dword [rdi + 0x9c]
mov rcx, qword [rsi + 0x18]
lea rdx, [rax + rax*2]
mov eax, dword [rsp + 0x30]
mov dword [rcx + rdx*4], eax
movsxd rax, dword [rdi + 0x9c]
mov rcx, qword [rsi + 0x18]
lea rdx, [rax + rax*2]
mov eax, dword [rdi + 0x60]
mov dword [rcx + rdx*4 + 4], eax
mov rcx, rsi
add dword [rdi + 0x9c], r12d
mov edx, dword [rdi + 0x9c]
call fcn.140048068
movsxd rax, dword [rdi + 0x9c]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x18]
mov dword [rax + rcx*4], 0xdfff
jmp 0x14004f72f
mov r8d, dword [rdi + 0x98]
mov rcx, rdi
mov edx, dword [rdi + 0x9c]
call fcn.140047f48
mov edx, dword [rdi + 0x9c]
mov rcx, rdi
mov r8d, dword [rdi + 0x98]
add edx, r12d
call fcn.140047f48
mov edx, dword [rdi + 0x9c]
mov rcx, rsi
call fcn.140048068
movsxd rax, dword [rdi + 0x9c]
mov rcx, qword [rsi + 0x18]
lea rdx, [rax + rax*2]
mov eax, dword [rsp + 0x30]
mov dword [rcx + rdx*4], eax
movsxd rax, dword [rdi + 0x9c]
mov rcx, qword [rsi + 0x18]
lea rdx, [rax + rax*2]
mov eax, dword [rdi + 0x60]
mov dword [rcx + rdx*4 + 4], eax
add dword [rdi + 0x9c], r12d
mov eax, dword [rdi + 0x9c]
cmp eax, dword [rdi + 0x16c]
jne 0x14004d9ba
dec eax
mov dword [rdi + 0xb8], r12d
mov dword [rdi + 0x9c], eax
cmp dword [rdi + 0xb4], r14d
je 0x14004d9ba
cmp dword [rdi + 0x188], r14d
je 0x14004d9ba
mov eax, 0x10
or word [rsi], ax
mov ecx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp ecx, r8d
jne 0x14004f7b9
mov edx, dword [rdi + 0xa8]
mov r9d, r12d
mov rcx, rdi
mov dword [rsp + 0x20], r12d
call fcn.14004ae14
jmp 0x14004f7cf
mov eax, dword [rdi + 0x168]
sub eax, r12d
cmp ecx, eax
jge 0x14004f7cf
lea eax, [rcx + 1]
mov dword [rdi + 0x98], eax
mov dword [rdi + 0x9c], r14d
jmp 0x14004d9a9
mov ebx, dword [rdi + 0x9c]
test ebx, ebx
jle 0x14004f845
dec ebx
cmp dword [rdi + 0xb8], r14d
je 0x14004f7f3
add ebx, r12d
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x18]
cmp dword [rax + rcx*4], 0xdfff
jne 0x14004f827
test ebx, ebx
jg 0x14004f824
mov r8d, 0xcb0
lea rdx, str..._terminal.c
lea rcx, str.x___0
call fcn.140071a0c
sub ebx, r12d
mov r8d, dword [rsp + 0x30]
mov edx, ebx
mov rcx, rsi
call fcn.140047e34
mov rcx, rdi
mov dword [rdi + 0x194], r12d
call fcn.140050b0c
mov esi, 3
mov ebx, 0x1000
jmp 0x14004d445
cmp edx, 0xa
je 0x14004dacf
cmp edx, 0xd
je 0x14004dacf
cmp edx, 0x9c
je 0x14004f8ac
cmp edx, 7
je 0x14004f8ac
cmp edx, 0x1b
jne 0x14004f887
mov dword [rdi + 0xe88], 8
jmp 0x14005022f
movsxd rax, dword [rdi + 0x274]
cmp eax, 0x800
jge 0x14005022f
mov byte [rax + rdi + 0x278], dl
add dword [rdi + 0x274], r12d
jmp 0x14005022f
mov rcx, rdi
call fcn.14004889c
jmp 0x14004dacf
sub ecx, 8
je 0x14004fccc
sub ecx, 1
je 0x14004f941
sub ecx, 1
je 0x14004f928
sub ecx, 1
je 0x14004f907
sub ecx, 1
je 0x14004f8fb
cmp ecx, 1
jne 0x14005022f
and dword [rdi + 0x60], 0xffdc01ff
and edx, 0xf
shl edx, 9
or dword [rdi + 0x60], edx
mov dword [rdi + 0xe88], r14d
jmp 0x14004f36c
and dword [rdi + 0x60], 0xfffbfe00
and edx, 0xf
jmp 0x14004f8ec
add edx, 0xffffffe0
mov dword [rdi + 0xe88], r14d
xor r9d, r9d
mov r8d, dword [rdi + 0x98]
mov rcx, rdi
call fcn.14004a2a8
jmp 0x14005022f
mov dword [rdi + 0xe88], 0xb
lea r8d, [rdx - 0x20]
xor r9d, r9d
mov edx, dword [rdi + 0x9c]
jmp 0x14004f91b
mov rcx, rdi
mov dword [rdi + 0xe88], r14d
mov dword [rdi + 0x194], r12d
call fcn.140050b0c
mov eax, dword [rsp + 0x30]
cmp eax, 0x53
ja 0x14004fb88
je 0x14004fb7e
cmp eax, 0x46
ja 0x14004fa5d
je 0x14004fa47
sub eax, 0x3c
je 0x14004fa35
sub eax, 1
je 0x14004fa29
sub eax, 1
je 0x14004fa1d
sub eax, esi
je 0x14004fa11
sub eax, 1
je 0x14004f9ff
sub eax, 1
je 0x14004f9f4
sub eax, 1
je 0x14004f9e3
cmp eax, 1
jne 0x14005022f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call fcn.14004a2a8
xor r8d, r8d
mov r9d, r12d
xor edx, edx
call fcn.1400496b8
cmp dword [rdi + 0x11f4], r14d
je 0x14005022f
mov dword [rdi + 0x20], r14d
jmp 0x14005022f
mov edx, dword [rdi + 0x9c]
sub edx, r12d
mov r9d, r12d
jmp 0x14004f914
mov edx, dword [rdi + 0x9c]
add edx, r12d
jmp 0x14004f9ec
mov r8d, dword [rdi + 0x98]
add r8d, r12d
mov r9d, r12d
jmp 0x14004f939
mov r8d, dword [rdi + 0x98]
sub r8d, r12d
jmp 0x14004fa09
mov dword [rdi + 0x184], r14d
jmp 0x14005022f
mov dword [rdi + 0x184], r12d
jmp 0x14005022f
mov eax, dword [rdi + 0x1190]
mov dword [rdi + 0x188], r14d
jmp 0x14004f40b
mov dword [rdi + 0xc0], r14d
mov dword [rdi + 0x1b0], 0xd900
jmp 0x14005022f
sub eax, 0x47
je 0x14004fb68
sub eax, 1
je 0x14004fb5b
sub eax, 1
je 0x14004fb1c
sub eax, 1
je 0x14004fb0e
sub eax, 1
je 0x14004faf8
sub eax, 1
je 0x14004fad7
sub eax, 1
je 0x14004faac
cmp eax, 5
jne 0x14005022f
mov dword [rdi + 0x104], r14d
mov dword [rdi + 0x60], 0x20500
jmp 0x14004f36c
mov edx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp edx, r8d
jg 0x14005022f
mov dword [rsp + 0x20], r12d
mov r9d, r12d
mov rcx, rdi
call fcn.14004ae14
jmp 0x14005022f
mov edx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp edx, r8d
jg 0x14005022f
mov dword [rsp + 0x20], r14d
or r9d, 0xffffffff
jmp 0x14004faca
mov r9d, r12d
xor r8d, r8d
mov edx, r12d
mov rcx, rdi
call fcn.1400496b8
jmp 0x14005022f
mov r9d, r12d
xor r8d, r8d
mov rcx, rdi
jmp 0x14004f9c6
mov eax, dword [rdi + 0x98]
test eax, eax
jne 0x14004fb45
mov r8d, dword [rdi + 0x168]
or r9d, 0xffffffff
sub r8d, r12d
mov dword [rsp + 0x20], r12d
xor edx, edx
mov rcx, rdi
call fcn.14004ae14
jmp 0x14004fb4f
jle 0x14004fb4f
dec eax
mov dword [rdi + 0x98], eax
mov dword [rdi + 0xb8], r14d
jmp 0x14005022f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
jmp 0x14004f91b
mov dword [rdi + 0xc0], r14d
mov dword [rdi + 0x1b0], 0xd800
jmp 0x14005022f
bts dword [rdi + 0x60], 0x13
jmp 0x14005022f
cmp eax, 0x65
ja 0x14004fc4e
je 0x14004f330
sub eax, 0x54
je 0x14004fc3d
sub eax, 1
je 0x14004fc2c
sub eax, r15d
je 0x14004fc22
sub eax, r15d
je 0x14004fc13
sub eax, 1
je 0x14004fbf4
sub eax, 8
je 0x14004fbe5
sub eax, 1
je 0x14004fbd6
cmp eax, 1
jne 0x14005022f
xor r9d, r9d
mov r8d, r12d
jmp 0x14004fb14
mov dword [rdi + 0xe88], 0xd
jmp 0x14005022f
mov dword [rdi + 0xe88], 0xc
jmp 0x14005022f
mov rcx, qword [rdi + 0x10d8]
test rcx, rcx
je 0x14005022f
mov r8d, esi
lea rdx, [0x1400a833c]
jmp 0x14004e6c3
mov dword [rdi + 0xe88], 0xa
jmp 0x14005022f
btr dword [rdi + 0x60], 0x13
jmp 0x14005022f
bts dword [rdi + 0x60], 0x12
mov dword [rdi + 0x104], r12d
jmp 0x14005022f
btr dword [rdi + 0x60], 0x12
mov dword [rdi + 0x104], r14d
jmp 0x14005022f
sub eax, 0x66
je 0x14004f345
sub eax, 6
je 0x14004fcaf
sub eax, esi
je 0x14004fca4
sub eax, 1
je 0x14004fc9a
sub eax, 1
je 0x14004fc90
sub eax, 5
je 0x14004fc84
cmp eax, 1
jne 0x14005022f
mov dword [rdi + 0xb4], r14d
jmp 0x14005022f
mov dword [rdi + 0xb4], r12d
jmp 0x14005022f
btr dword [rdi + 0x60], 0x14
jmp 0x14005022f
bts dword [rdi + 0x60], 0x14
jmp 0x14005022f
xor r9d, r9d
mov r8d, r12d
jmp 0x14004fafe
mov r9d, r12d
mov r8d, r12d
mov edx, r12d
mov rcx, rdi
call fcn.1400496b8
mov dword [rdi + 0x9c], r14d
jmp 0x14004fb4f
cmp edx, 0x5c
je 0x14004f8ac
lea eax, [rdx - 0x20]
cmp eax, 0xf
ja 0x14004fcf7
cmp dword [rdi + 0x270], r14d
mov ecx, 0xffffffff
cmovne edx, ecx
mov dword [rdi + 0x270], edx
jmp 0x140050232
mov ecx, dword [rdi + 0x270]
shl ecx, 8
add ecx, edx
mov dword [rdi + 0xe88], r14d
cmp ecx, 0x2336
ja 0x14004ff84
cmp ecx, 0x2333
jae 0x14004ff1e
cmp ecx, 0x48
ja 0x14004fe1a
je 0x14004fdfa
sub ecx, 0x37
je 0x14004fdec
sub ecx, 1
je 0x14004fdde
sub ecx, 5
je 0x14004fdc6
sub ecx, 1
je 0x14004fdae
sub ecx, 6
je 0x14004fda3
cmp ecx, 1
jne 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
mov dword [rdi + 0x9c], r14d
mov ecx, dword [rdi + 0x98]
mov r8d, dword [rdi + 0xac]
cmp ecx, r8d
jne 0x14004fd84
mov r9d, r12d
jmp 0x14004e277
mov eax, dword [rdi + 0x168]
sub eax, r12d
cmp ecx, eax
jge 0x14004d9a9
lea eax, [rcx + 1]
mov dword [rdi + 0x98], eax
jmp 0x14004d9a9
test byte [rdi], r15b
je 0x14004dacf
jmp 0x14004fd6a
or ecx, 0xffffffff
test byte [rdi], r15b
je 0x14004feaa
mov dword [rdi + 0x184], r14d
jmp 0x140050232
or ecx, 0xffffffff
test byte [rdi], r15b
je 0x14004feaa
mov dword [rdi + 0x184], r12d
jmp 0x140050232
test byte [rdi], r15b
jne 0x14004e798
jmp 0x14004dacf
test byte [rdi], r15b
jne 0x14004eb50
jmp 0x14004dacf
test byte [rdi], r15b
je 0x14004dacf
movsxd rcx, dword [rdi + 0x9c]
mov rax, qword [rdi + 0xe80]
mov byte [rcx + rax], r12b
jmp 0x14005022f
sub ecx, 0x4d
je 0x14004fee6
sub ecx, 0xd
je 0x14004e691
sub ecx, 1
je 0x14004fec8
sub ecx, r15d
je 0x14004fea2
cmp ecx, 6
jne 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
mov edx, r12d
mov rcx, rdi
call fcn.14004a45c
mov rcx, qword [rdi + 0x10d8]
test rcx, rcx
je 0x14004fe68
call fcn.14000ba84
cmp dword [rdi + 0xe0], r14d
je 0x14004e3d4
cmp dword [rdi + 0x11d8], r14d
jne 0x14004fe96
mov r8d, dword [rdi + 0x168]
mov edx, 0x50
mov rcx, qword [rdi + 0x10e0]
call fcn.14006122c
mov dword [rdi + 0xe0], r14d
jmp 0x14004e3d4
or ecx, 0xffffffff
test dword [rdi], r8d
jne 0x14004feb6
mov dword [rdi + 0xe88], r14d
jmp 0x140050232
mov dword [rdi + 0xe88], esi
mov dword [rdi + 0x1ec], r14d
jmp 0x140050232
mov dword [rdi + 0xe88], r15d
mov qword [rdi + 0x26c], 1
mov dword [rdi + 0x1ec], r14d
jmp 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
mov eax, dword [rdi + 0x98]
mov edx, dword [rdi + 0xa8]
cmp eax, edx
jne 0x14004ff0f
mov r8d, dword [rdi + 0xac]
or r9d, 0xffffffff
jmp 0x14004e27d
test eax, eax
jle 0x14004d9a9
dec eax
jmp 0x14004fd98
test byte [rdi], r15b
je 0x14004dacf
sub ecx, 0x2333
je 0x14004ff47
sub ecx, 1
je 0x14004ff43
cmp ecx, 1
je 0x14004ff3e
mov ebx, r12d
jmp 0x14004ff4a
mov ebx, r14d
jmp 0x14004ff4a
mov ebx, esi
jmp 0x14004ff4a
mov ebx, r15d
mov edx, dword [rdi + 0x98]
mov r9d, r12d
mov r8d, 0xd67
mov rcx, rdi
call fcn.140049ca4
mov r8d, dword [rdi + 0x16c]
mov rsi, rax
cmp r8d, dword [rax + 4]
je 0x14004ff7c
mov rdx, rax
mov rcx, rdi
call fcn.14004ab84
mov word [rsi], bx
jmp 0x14005022f
cmp ecx, 0x2842
ja 0x140050161
je 0x140050139
sub ecx, 0x2338
je 0x140050067
sub ecx, 0x200
je 0x140050042
sub ecx, 8
je 0x14005001d
sub ecx, 7
je 0x140050042
sub ecx, 0x2e9
je 0x14004fff5
cmp ecx, 0x11
jne 0x14005022f
test byte [rdi], r15b
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x1b0], 0xdb00
jmp 0x140050232
test byte [rdi], r15b
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x1b0], 0xd900
jmp 0x140050232
test dword [rdi], r8d
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x108], r14d
jmp 0x140050232
test dword [rdi], r8d
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x108], r12d
jmp 0x140050232
test byte [rdi], r15b
je 0x14004dacf
mov r15d, r14d
cmp dword [rdi + 0x168], r14d
jle 0x1400500f6
mov r9d, r12d
mov r8d, 0xd3d
mov edx, r15d
mov rcx, rdi
call fcn.140049ca4
mov r8d, dword [rdi + 0x16c]
mov rbx, rax
cmp r8d, dword [rax + 4]
je 0x1400500ab
mov rdx, rax
mov rcx, rdi
call fcn.14004ab84
mov esi, r14d
cmp dword [rdi + 0x16c], r14d
jle 0x1400500e6
lea r8, [rdi + 0x68]
mov edx, esi
mov rcx, rbx
call fcn.1400486e8
mov rax, qword [rbx + 0x18]
inc esi
mov dword [r14 + rax], 0x45
lea r14, [r14 + 0xc]
cmp esi, dword [rdi + 0x16c]
jl 0x1400500b7
xor r14d, r14d
lea r12d, [r14 + 1]
add r15d, r12d
mov word [rbx], r14w
cmp r15d, dword [rdi + 0x168]
jl 0x14005007c
cmp dword [rdi + 0x11f4], r14d
je 0x140050103
mov dword [rdi + 0x20], r14d
mov rcx, rdi
mov dword [rdi + 0x194], r12d
call fcn.140050b0c
mov eax, dword [rdi + 0x168]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x60], 0
mov rdx, qword [rsp + 0x60]
mov dword [rsp + 0x5c], r14d
mov r8, qword [rsp + 0x58]
jmp 0x14004e477
test byte [rdi], r15b
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x1b0], 0xd800
jmp 0x140050232
sub ecx, 0x2855
je 0x140050213
sub ecx, 0xdb
je 0x1400501f2
sub ecx, 0x11
je 0x1400501d1
sub ecx, 1
je 0x1400501b0
cmp ecx, 0x13
jne 0x14005022f
test dword [rdi], r8d
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x1b4], 0xda00
jmp 0x140050232
test byte [rdi], r15b
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x1b4], 0xd800
jmp 0x140050232
test byte [rdi], r15b
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x1b4], 0xdb00
jmp 0x140050232
test byte [rdi], r15b
je 0x14004dacf
or ecx, 0xffffffff
cmp dword [rdi + 0x11d4], r14d
jne 0x140050232
mov dword [rdi + 0x1b4], 0xd900
jmp 0x140050232
test dword [rdi], r8d
je 0x14004dacf
cmp dword [rdi + 0x11d4], r14d
jne 0x14005022f
mov dword [rdi + 0x1b0], 0xda00
or ecx, 0xffffffff
mov esi, 3
mov rax, qword [rsp + 0x40]
mov ebx, 0x1000
lea r15d, [rsi - 1]
cmp dword [rdi + 0xe8c], r14d
je 0x14004d2c8
mov rax, qword [rdi + 0x98]
mov qword [rsp + 0x38], rax
shr rax, 0x20
cmp eax, dword [rdi + 0x16c]
jne 0x140050276
add dword [rsp + 0x38], r12d
mov dword [rsp + 0x3c], r14d
jmp 0x14005027b
add dword [rsp + 0x3c], r12d
mov r8, qword [rsp + 0x38]
mov rcx, rdi
mov rdx, qword [rdi + 0x98]
call fcn.14004801c
jmp 0x14004d445
mov rcx, rdi
call fcn.1400505d4
cmp dword [rdi + 0x11b0], r14d
je 0x1400502b6
mov rcx, qword [rdi + 0x10e8]
test rcx, rcx
je 0x1400502b6
call fcn.14000cbc0
mov rcx, qword [rbp + 0x100]
xor rcx, rsp
call fcn.14006eb50
lea r11, [rsp + 0x210]
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