Function at 0x180056480
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x850]
sub rsp, 0x950
call fcn.180049150
mov r11, qword [0x180096dd0]
cmp dword [r11 + 4], 0
jne 0x18005787f
mov r8, qword [0x180096dc0]
xor r12d, r12d
movabs rax, 0xdbf06daf303fac65
cmp r8, rax
mov byte [rsp + 0x28], 1
movabs rbx, 0xd79a16697bb981ec
cmove r8, r12
mov qword [rsp + 0x20], r12
mov qword [0x180096dc0], r8
test r8, r8
je 0x18005654a
nop dword [rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xcfb1c497
je 0x180056535
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180056510
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x180056500
jmp 0x18005654a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x180056ae5
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x1800565a7
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x180056676
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056580
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180056570
mov rax, qword gs:[0x30]
mov r13, r12
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r9, qword [rbx + 0x60]
mov r10d, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18005660c
lea rax, [rbp - 0x30]
mov r8, r9
lea rcx, [rbp - 0x30]
sub r8, rax
nop
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18005660c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800565f0
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18005664a
lea rdx, [rbp + 0x550]
nop dword [rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005662e
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18005664a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x180056620
lea rcx, [rbp + 0x550]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180056687
cmp rbx, rdi
je 0x1800567ee
mov rbx, qword [rbx]
jmp 0x1800565d0
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x1800567f8
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800567ee
cmp byte [0x1800970f1], r12b
jne 0x1800567ee
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180056723
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x1800566fa
mov esi, 0xf
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x1800566d0
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x180056704
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], r12b
mov qword [0x180096db0], rax
jmp 0x18005673f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005673f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180056730
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], r12d
je 0x1800567cd
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056750
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x1800567aa
mov r12d, 0xf
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec r12d
jns 0x180056783
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x1800567ad
mov rsi, r12
lea rdx, [rbp - 0x30]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x1800567ee
movsxd rbx, edx
lea rdx, [rbp - 0x30]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
movabs rbx, 0xd79a16697bb981ec
test r13, r13
jne 0x180056ad3
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x180056af1
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x180056867
nop dword [rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x180056946
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056840
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180056830
mov rax, qword gs:[0x30]
mov r13, r12
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r9, qword [rbx + 0x60]
mov r10d, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x1800568dc
lea rax, [rbp + 0x150]
mov r8, r9
lea rcx, [rbp + 0x150]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x1800568dc
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800568c0
mov r8d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18005691a
lea rdx, [rbp + 0xd0]
nop dword [rax]
movzx ecx, byte [r9]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800568fe
add cl, 0xe0
mov byte [rdx], cl
test cl, cl
je 0x18005691a
movzx eax, word [rbx + 0x58]
inc r8d
inc r10d
add r9, 2
inc rdx
cmp r8d, eax
jl 0x1800568f0
lea rcx, [rbp + 0xd0]
mov edx, r10d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180056957
cmp rbx, rdi
je 0x180056ac4
mov rbx, qword [rbx]
jmp 0x180056890
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x180056ace
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x180056ac4
cmp byte [0x1800970f1], 0
jne 0x180056ac4
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x1800569f3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x1800569ca
mov esi, 0xf
lea rbx, [rax + 0x18]
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x1800569a0
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x1800569d4
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x180056a0f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x180056a0f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180056a00
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x180056aa0
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056a20
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180056a7a
mov r12d, 0xf
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec r12d
jns 0x180056a53
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x180056a7d
mov rsi, r12
lea rdx, [rbp + 0x150]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x180056ac4
movsxd rbx, edx
lea rdx, [rbp + 0x150]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
movabs rbx, 0xd79a16697bb981ec
test r13, r13
je 0x180056af1
mov edx, 0xcfb1c497
mov rcx, r13
call fcn.180048a60
test rax, rax
je 0x180056af1
xor edx, edx
lea ecx, [rdx + 2]
call rax
mov rdx, rax
jmp 0x180056af3
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.1800477b0
lea rcx, [rsp + 0x20]
call fcn.1800475b0
test al, al
je 0x180056b23
cmp byte [rsp + 0x28], 0
je 0x180056b1c
lea rcx, [rsp + 0x20]
call fcn.180047770
xor eax, eax
jmp 0x180057889
xor ecx, ecx
call fcn.180054bc0
lea rcx, [rsp + 0x30]
mov edx, 0x238
mov r15d, eax
mov dword [rbp + 0x880], eax
call fcn.180040150
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.18003fcb0
lea rcx, [rsp + 0x30]
mov r14, rax
call fcn.18003fcc0
movabs rdi, 0xdbf06daf303fac65
mov dword [r14], eax
mov r8, qword [0x180096dc0]
cmp r8, rdi
cmove r8, r12
mov qword [0x180096dc0], r8
test r8, r8
je 0x180056bda
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x8fd57cad
je 0x180056bc5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180056ba0
mov r8, qword [r8 + 0x280]
test r8, r8
jne 0x180056b90
jmp 0x180056bda
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r8 + rcx*8 + 0x20]
test rax, rax
jne 0x1800571cb
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x180056c37
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x180056d17
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056c10
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180056c00
mov rax, qword gs:[0x30]
mov r13, r12
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x180056cac
lea rax, [rbp + 0x2d0]
mov r8, r10
lea rcx, [rbp + 0x2d0]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x180056cac
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180056c90
mov r9d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x180056ceb
lea r8, [rbp + 0x6d0]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180056cce
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180056ceb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180056cc0
lea rcx, [rbp + 0x6d0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180056d28
cmp rbx, rdi
je 0x180056ea8
mov rbx, qword [rbx]
jmp 0x180056c60
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x180056eb2
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x180056ea8
cmp byte [0x1800970f1], 0
jne 0x180056ea8
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180056dc3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x180056d9a
mov esi, 0xf
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x180056d70
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x180056da4
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x180056ddf
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x180056ddf
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180056dd0
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x180056e84
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056df0
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180056e5e
mov r12d, 0xf
lea rbx, [rax + 0x18]
xor r15d, r15d
nop word [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r12d
jns 0x180056e30
mov r15d, dword [rbp + 0x880]
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x180056e61
mov rsi, r12
lea rdx, [rbp + 0x2d0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x180056ea8
movsxd rbx, edx
lea rdx, [rbp + 0x2d0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
movabs rbx, 0xd79a16697bb981ec
test r13, r13
jne 0x1800571ab
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x180057864
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x180056f27
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x180057007
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180056f00
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180056ef0
mov rax, qword gs:[0x30]
mov r13, r12
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x180056f9c
lea rax, [rbp + 0x450]
mov r8, r10
lea rcx, [rbp + 0x450]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x180056f9c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180056f80
mov r9d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x180056fdb
lea r8, [rbp + 0x250]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180056fbe
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180056fdb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180056fb0
lea rcx, [rbp + 0x250]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180057018
cmp rbx, rdi
je 0x180057198
mov rbx, qword [rbx]
jmp 0x180056f50
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x1800571a2
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x180057198
cmp byte [0x1800970f1], 0
jne 0x180057198
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x1800570b3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18005708a
mov esi, 0xf
lea rbx, [rax + 0x18]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x180057060
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x180057094
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x1800570cf
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x1800570cf
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x1800570c0
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x180057174
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x1800570e0
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18005714e
mov r12d, 0xf
lea rbx, [rax + 0x18]
xor r15d, r15d
nop word [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r12d
jns 0x180057120
mov r15d, dword [rbp + 0x880]
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x180057151
mov rsi, r12
lea rdx, [rbp + 0x450]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x180057198
movsxd rbx, edx
lea rdx, [rbp + 0x450]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
movabs rbx, 0xd79a16697bb981ec
test r13, r13
je 0x180057864
mov edx, 0x8fd57cad
mov rcx, r13
call fcn.180048a60
movabs rdi, 0xdbf06daf303fac65
test rax, rax
je 0x180057864
mov rcx, qword [rsp + 0x20]
mov rdx, r14
call rax
test eax, eax
jne 0x1800571e6
call fcn.18004d730
test eax, eax
jne 0x180057864
cmp dword [r14 + 8], r15d
je 0x180057837
mov rdx, qword [0x180096dc0]
cmp rdx, rdi
cmove rdx, r12
mov qword [0x180096dc0], rdx
test rdx, rdx
je 0x18005724c
nop word [rax + rax]
mov rcx, r12
lea rax, [rdx + 0x10]
cmp dword [rax], 0xb2291b5e
je 0x18005723a
inc rcx
add rax, 0x28
cmp rcx, 0x10
jl 0x180057217
mov rdx, qword [rdx + 0x280]
test rdx, rdx
jne 0x180057210
jmp 0x18005724c
lea rax, [rcx + rcx*4]
mov rax, qword [rdx + rax*8 + 0x20]
test rax, rax
jne 0x180057816
mov rdx, qword [0x180096db8]
cmp rdx, rbx
cmove rdx, r12
mov qword [0x180096db8], rdx
test rdx, rdx
je 0x1800572a5
nop word [rax + rax]
mov rax, r12
lea rcx, [rdx + 0x10]
nop word [rax + rax]
cmp dword [rcx], 0x97c92fff
je 0x180057375
inc rax
add rcx, 0x20
cmp rax, 0x10
jl 0x180057280
mov rdx, qword [rdx + 0x200]
test rdx, rdx
jne 0x180057270
mov rax, qword gs:[0x30]
mov r13, r12
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
mov r10, qword [rbx + 0x60]
mov r11d, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18005730c
lea rax, [rbp + 0x5d0]
mov r8, r10
lea rcx, [rbp + 0x5d0]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18005730c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800572f0
mov r9d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18005734b
lea r8, [rsp + 0x50]
nop dword [rax + rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005732e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005734b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180057320
lea rcx, [rsp + 0x50]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180057383
cmp rbx, rdi
je 0x18005750b
mov rbx, qword [rbx]
jmp 0x1800572c1
shl rax, 5
mov r13, qword [rax + rdx + 0x18]
jmp 0x180057515
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18005750b
cmp byte [0x1800970f1], 0
jne 0x18005750b
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180057423
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x1800573fa
mov esi, 0xf
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x1800573d0
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x180057404
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18005743f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005743f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180057430
mov ecx, r12d
mov rbx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x1800574e4
inc rbx
inc ecx
add rax, 0x20
cmp rbx, 0x10
jl 0x180057450
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x1800574be
mov r12d, 0xf
lea rbx, [rax + 0x18]
xor r15d, r15d
nop word [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r12d
jns 0x180057490
mov r15d, dword [rbp + 0x880]
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x1800574c1
mov rsi, r12
lea rdx, [rbp + 0x5d0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x18005750b
movsxd rcx, ecx
shl rbx, 5
lea rdx, [rbp + 0x5d0]
shl rcx, 5
mov qword [rbx + rdi + 0x18], r13
add rcx, rdi
call fcn.180042fa0
mov dword [rbx + rdi + 0x10], 0x97c92fff
movabs rbx, 0xd79a16697bb981ec
test r13, r13
jne 0x1800577fa
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x180057864
mov rdx, qword [0x180096db8]
cmp rdx, rbx
cmove rdx, r12
mov qword [0x180096db8], rdx
test rdx, rdx
je 0x180057585
nop word [rax + rax]
mov rax, r12
lea rcx, [rdx + 0x10]
nop word [rax + rax]
cmp dword [rcx], 0x97c92fff
je 0x180057657
inc rax
add rcx, 0x20
cmp rax, 0x10
jl 0x180057560
mov rdx, qword [rdx + 0x200]
test rdx, rdx
jne 0x180057550
mov rax, qword gs:[0x30]
mov r13, r12
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
mov r10, qword [rbx + 0x60]
mov r11d, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x1800575ec
lea rax, [rbp + 0x750]
mov r8, r10
lea rcx, [rbp + 0x750]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x1800575ec
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800575d0
mov r9d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18005762b
lea r8, [rbp + 0x3d0]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18005760e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005762b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180057600
lea rcx, [rbp + 0x3d0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180057665
cmp rbx, rdi
je 0x1800577eb
mov rbx, qword [rbx]
jmp 0x1800575a1
shl rax, 5
mov r13, qword [rax + rdx + 0x18]
jmp 0x1800577f5
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800577eb
cmp byte [0x1800970f1], 0
jne 0x1800577eb
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180057703
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x1800576da
mov esi, 0xf
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x1800576b0
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x1800576e4
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18005771f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005771f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180057710
mov ecx, r12d
mov rbx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x1800577c4
inc rbx
inc ecx
add rax, 0x20
cmp rbx, 0x10
jl 0x180057730
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18005779e
mov r12d, 0xf
lea rbx, [rax + 0x18]
xor r15d, r15d
nop word [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r12d
jns 0x180057770
mov r15d, dword [rbp + 0x880]
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x1800577a1
mov rsi, r12
lea rdx, [rbp + 0x750]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x1800577eb
movsxd rcx, ecx
shl rbx, 5
lea rdx, [rbp + 0x750]
shl rcx, 5
mov qword [rbx + rdi + 0x18], r13
add rcx, rdi
call fcn.180042fa0
mov dword [rbx + rdi + 0x10], 0x97c92fff
movabs rbx, 0xd79a16697bb981ec
test r13, r13
je 0x180057864
mov edx, 0xb2291b5e
mov rcx, r13
call fcn.180048a60
movabs rdi, 0xdbf06daf303fac65
test rax, rax
je 0x180057864
mov rcx, qword [rsp + 0x20]
mov rdx, r14
call rax
test eax, eax
jne 0x18005782d
call fcn.18004d730
test eax, eax
jne 0x180057864
cmp dword [r14 + 8], r15d
jne 0x1800571f0
mov rcx, qword [0x180096dd0]
mov ebx, dword [r14 + 0x20]
mov dword [rcx + 4], ebx
lea rcx, [rsp + 0x30]
call fcn.18003fca0
cmp byte [rsp + 0x28], 0
je 0x180057860
lea rcx, [rsp + 0x20]
call fcn.180047770
mov eax, ebx
jmp 0x180057889
lea rcx, [rsp + 0x30]
call fcn.18003fca0
cmp byte [rsp + 0x28], 0
je 0x18005787f
lea rcx, [rsp + 0x20]
call fcn.180047770
mov rax, qword [0x180096dd0]
mov eax, dword [rax + 4]
lea r11, [rsp + 0x950]
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