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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
movaps xmmword [rsp + 0x110], xmm6
mov r14, rdx
mov rsi, qword [rcx + 0x28]
mov rdi, qword [rsi]
movzx eax, byte [rdx]
cmp eax, 0x85
jg 0x140053b43
lea edx, [rax - 0x2d]
cmp edx, 0xe
ja case.default.0x140053b02
lea rax, [0x140238c24]
movsxd rdx, dword [rax + rdx*4]
add rdx, rax
jmp rdx
mov rax, qword [rdi]
cmp byte [rax + 0x61], 0
jne case.0x140053b02.46
mov rcx, qword [r14 + 0x10]
mov al, byte [rcx]
cmp al, 0xab
jne 0x140053b1e
mov al, byte [rcx + 0x32]
cmp al, 0x86
je 0x140053c92
movzx edx, al
mov eax, 1
cmp edx, 0xac
jne 0x140053c9b
add rcx, 0x20
jmp 0x140053c96
cmp eax, 0x96
jle 0x140053b7b
cmp eax, 0x97
je 0x140053d0d
cmp eax, 0xa6
je case.0x140053b02.45
cmp eax, 0xa7
jne case.0x140053b02.46
mov rax, qword [r14 + 0x20]
test rax, rax
je 0x140053e01
mov ebx, dword [rax]
jmp 0x140053e03
cmp eax, 0x86
je case.0x140053b02.49
cmp eax, 0x89
jne case.0x140053b02.46
mov rax, rsi
mov rsi, qword [r14 + 0x10]
mov qword [rsp + 0x58], rax
mov edx, dword [rax + 0x28]
lea r8, [0x1402b0b40]
mov rcx, rdi
mov r9d, 0x20
call fcn.140055f78
mov rax, qword [r14 + 0x18]
cmp byte [rax], 0x3b
jne 0x140053db3
mov r8, r14
xor r9d, r9d
jmp 0x140053dc2
mov rbx, qword [r14 + 0x18]
test rbx, rbx
je 0x140053bf9
mov eax, dword [rbx + 4]
test eax, 0x41000
je 0x140053bfb
bt eax, 0x12
jb 0x140053bec
add rbx, 0x10
jmp 0x140053bf4
mov rbx, qword [rbx + 0x20]
add rbx, 8
mov rbx, qword [rbx]
jmp 0x140053bd1
xor ebx, ebx
cmp byte [rbx], 0x3b
jne case.0x140053b02.48
mov rdx, rbx
call fcn.140053ab9
mov ecx, eax
mov eax, 2
cmp ecx, 2
je 0x140053d97
cmp byte [rbx], 0xa5
jne case.0x140053b02.48
mov al, byte [r14]
mov byte [r14 + 0x32], al
mov byte [r14], 0xaa
xor eax, eax
jmp 0x140053d97
cmp eax, 0x14
jne case.0x140053b02.46
test byte [r14 + 5], 8
je case.0x140053b02.46
mov r15, rsi
mov esi, dword [rsi + 0x20]
mov edx, dword [r15 + 0x28]
lea r8, [0x1402b0da0]
mov rbx, rcx
mov rcx, rdi
mov r9d, 0x26
call fcn.140055f78
mov rdx, qword [r14 + 0x20]
mov rcx, rbx
call fcn.14004c6ee
cmp esi, dword [r15 + 0x20]
je case.0x140053b02.46
or byte [r14 + 4], 0x20
or byte [r15 + 0x28], 0x40
jmp case.0x140053b02.46
mov rcx, qword [rcx + 0x20]
mov rax, qword [rcx]
mov eax, dword [rax]
cmp byte [r14], 0x30
jne 0x140053cd5
mov rcx, qword [r14 + 0x20]
mov rdx, qword [rcx + 8]
mov r8b, byte [rdx]
cmp r8b, 0xab
jne 0x140053cb6
mov r8b, byte [rdx + 0x32]
cmp r8b, 0x86
je 0x140053d27
movzx r9d, r8b
mov r8d, 1
cmp r9d, 0xac
jne 0x140053d31
add rdx, 0x20
jmp 0x140053d2b
mov rcx, qword [r14 + 0x18]
jmp 0x140053d3a
mov qword [rsp + 0x58], rsi
mov rbx, r14
mov r14, qword [r14 + 8]
mov rax, qword [rdi]
mov qword [rsp + 0xa8], rax
lea rax, [rbx + 0x28]
mov qword [rsp + 0x80], rax
mov dword [rbx + 0x28], 0xffffffff
xor r10d, r10d
jmp 0x1400540cd
mov edx, dword [rsi + 0x28]
lea r8, str.___ry
mov rcx, rdi
mov r9d, 0x26
call fcn.140055f78
jmp case.0x140053b02.46
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx]
mov r8d, dword [rdx]
cmp r8d, eax
jne 0x140053d6a
mov rcx, qword [rcx + 0x30]
mov dl, byte [rcx]
cmp dl, 0xab
jne 0x140053d44
mov dl, byte [rcx + 0x32]
cmp dl, 0x86
je 0x140053d60
movzx edx, dl
mov r8d, 1
cmp edx, 0xac
jne 0x140053d6a
add rcx, 0x20
jmp 0x140053d64
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rcx]
mov r8d, dword [rcx]
cmp eax, r8d
je case.0x140053b02.46
lea rdx, [0x1402b0540]
mov rcx, rdi
call fcn.1400397e7
mov eax, 2
cmp dword [rdi + 0x30], 0
jne 0x140053d97
mov rcx, qword [rdi]
xor eax, eax
cmp byte [rcx + 0x61], 0
setne al
add eax, eax
movaps xmm6, xmmword [rsp + 0x110]
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8, r14
mov r9, qword [rsi + 8]
mov rsi, qword [rax + 0x10]
mov rax, qword [rax + 0x18]
mov r10, qword [rsi + 8]
mov r14, qword [rax + 8]
cmp byte [rdi + 0x104], 2
jb 0x140054097
mov rcx, qword [rdi + 0x188]
test rcx, rcx
je 0x140054097
mov rdx, rcx
cmp qword [rdx], rax
je 0x140053f37
mov rdx, qword [rdx + 0x18]
test rdx, rdx
jne 0x140053dea
jmp 0x140053f41
xor ebx, ebx
mov qword [rsp + 0x40], rdi
mov r12, qword [rdi]
mov r13d, 0x4001
test byte [r14 + 7], 1
mov qword [rsp + 0x50], rax
jne 0x140053e25
mov rdx, r14
xor r14d, r14d
jmp 0x140053e37
mov rax, qword [r14 + 0x40]
mov rdx, r14
xor r14d, r14d
cmp byte [rax + 0x20], 0xa1
cmovne r14, rax
mov qword [rsp + 0x60], rcx
mov bpl, byte [r12 + 0x5e]
and r13d, dword [rsi + 0x28]
mov qword [rsp + 0x48], rdx
mov r15, qword [rdx + 8]
test r15, r15
je 0x140053e72
mov rcx, r15
call fcn.140200880
and eax, 0x3fffffff
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x20], 0
mov rcx, r12
mov rdx, r15
jmp 0x140053e83
mov byte [rsp + 0x20], 0
xor eax, eax
mov qword [rsp + 0x68], rax
mov rcx, r12
xor edx, edx
mov r8d, ebx
mov r9d, ebp
call fcn.140056294
mov r12, rax
mov qword [rsp + 0x58], rsi
test rax, rax
je 0x140053efc
mov rbp, qword [r12 + 0x20]
test rbp, rbp
setne sil
test byte [r12 + 5], 4
je 0x140053f7d
mov rdi, qword [rsp + 0x48]
or byte [rdi + 6], 4
cmp ebx, 2
jne 0x140053f65
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax + 0x30]
call fcn.140056486
mov dword [rdi + 0x28], eax
test eax, eax
jns 0x140053f7d
lea rdx, [0x1402b0b60]
mov rcx, qword [rsp + 0x40]
call fcn.1400397e7
mov rax, qword [rsp + 0x58]
inc dword [rax + 0x24]
jmp 0x140053f7d
mov ebx, r13d
mov r13, qword [rsp + 0x40]
mov rcx, qword [r13]
mov byte [rsp + 0x20], 0
mov rdx, r15
mov r8d, 0xfffffffe
mov r9d, ebp
call fcn.140056294
mov r12, rax
test rax, rax
sete bpl
setne al
xor esi, esi
mov rcx, qword [rsp + 0x60]
jmp 0x140054b53
mov qword [rdx], r8
mov rcx, qword [rdi + 0x188]
test rcx, rcx
je 0x140054097
lea rax, [r8 + 0x40]
cmp qword [rcx], rsi
je 0x140054094
mov rcx, qword [rcx + 0x18]
test rcx, rcx
jne 0x140053f4e
jmp 0x140054097
mov rax, qword [r12 + 0x38]
cmp byte [rax], 0x75
mov eax, 0x800000
mov ecx, 0x7800000
cmove ecx, eax
mov dword [rdi + 0x28], ecx
mov r9, qword [r12 + 0x38]
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x40]
mov edx, 0x1f
xor r8d, r8d
call fcn.14004e7f9
test eax, eax
je 0x140053fd1
cmp eax, 1
jne 0x140053fc4
mov r8, qword [r12 + 0x38]
lea rdx, [0x1402b0bc0]
mov rcx, qword [rsp + 0x40]
call fcn.1400397e7
mov rax, qword [rsp + 0x58]
inc dword [rax + 0x24]
mov rax, qword [rsp + 0x48]
mov byte [rax], 0x75
jmp 0x140054e16
mov eax, dword [r12 + 4]
test eax, 0x2800
je 0x140053feb
mov rax, qword [rsp + 0x48]
or byte [rax + 6], 8
mov eax, dword [r12 + 4]
bt eax, 0xb
jb 0x140054015
mov rax, qword [rsp + 0x58]
mov edx, dword [rax + 0x28]
lea r8, [0x1402b0c00]
mov rcx, qword [rsp + 0x40]
mov r9d, 0x22
call fcn.140055f78
mov eax, dword [r12 + 4]
bt eax, 0x12
mov rcx, qword [rsp + 0x60]
jb 0x140054047
mov bpl, 1
mov ebx, r13d
bt eax, 0x13
jae 0x14005403b
mov rax, qword [rsp + 0x48]
test byte [rax + 7], 0x40
jne 0x140054b29
mov al, 1
mov r13, qword [rsp + 0x40]
jmp 0x140054b53
mov rdx, qword [rsp + 0x40]
cmp byte [rdx + 0x1e], 0
jne 0x140054020
cmp dword [0x1402a6a3c], 0
jne 0x140054020
xor edi, edi
test rbp, rbp
setne al
mov rdx, qword [rsp + 0x40]
lea rsi, [rdx + 0x104]
cmp byte [rdx + 0x104], 1
ja 0x140054e52
xor edi, edi
test rbp, rbp
je 0x14005503a
mov bpl, 1
xor eax, eax
xor r12d, r12d
jmp 0x140054c7a
mov qword [rcx], rax
mov rdx, qword [rdi]
lea rax, [r8 + 0x28]
mov qword [rsp + 0x80], rax
mov rbx, r8
mov dword [r8 + 0x28], 0xffffffff
test r9, r9
mov qword [rsp + 0xa8], rdx
je 0x1400540cd
mov rax, qword [rsp + 0x58]
test byte [rax + 0x28], 6
je 0x14005494d
xor eax, eax
mov qword [rsp + 0x78], rax
xor r9d, r9d
test r9, r9
sete al
mov qword [rsp + 0x48], rbx
lea rcx, [rbx + 0x40]
mov qword [rsp + 0xc8], rcx
test r10, r10
setne cl
and cl, al
mov byte [rsp + 0x73], cl
mov qword [rsp + 0x40], rdi
lea rax, [rdi + 0x98]
mov qword [rsp + 0xb0], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov byte [rsp + 0x3f], 0xa2
lea rsi, str.y
mov dword [rsp + 0xa4], 0
xor r11d, r11d
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x60], r10
mov qword [rsp + 0x50], r9
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400544b7
mov qword [rsp + 0xc0], rbx
cmp dword [rcx], 0
jle 0x1400544bc
lea rdi, [rcx + 8]
xor edx, edx
xor r12d, r12d
mov ebp, r11d
mov qword [rsp + 0x88], rcx
mov r8, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
test rax, rax
je 0x14005425a
test byte [rax + 0xd], 8
je 0x14005425a
mov qword [rsp + 0x90], rbp
mov qword [rsp + 0xb8], r8
mov dword [rsp + 0x74], edx
mov qword [rsp + 0x98], rdi
mov rbx, r12
mov rbp, qword [rax]
mov r12d, dword [rbp]
test r12d, r12d
jle 0x14005421b
lea r15, [rbp + 0x18]
xor edi, edi
xor r13d, r13d
mov rcx, qword [r15]
mov rdx, r14
mov r8, r10
call fcn.140055fb6
test eax, eax
je 0x140054200
inc ebx
mov rax, qword [rsp + 0x48]
mov word [rax + 0x2c], di
mov r12d, dword [rbp]
mov eax, 2
mov qword [rsp + 0x90], rax
mov r13d, 1
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x68], rax
inc rdi
movsxd rax, r12d
add r15, 0x28
cmp rdi, rax
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
jl 0x1400541bf
jmp 0x14005421e
xor r13d, r13d
test r10, r10
je 0x140054304
mov rbp, qword [rsp + 0x90]
mov r11d, ebp
test r13d, r13d
mov r12, rbx
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x98]
mov edx, dword [rsp + 0x74]
mov r8, qword [rsp + 0xb8]
jne 0x1400544a4
test r9, r9
je 0x140054272
mov rax, qword [rsp + 0x78]
cmp qword [r8 + 0x70], rax
je 0x140054272
mov r11d, ebp
jmp 0x1400544a4
test r10, r10
je 0x14005432e
mov ebx, edx
mov rax, qword [rdi + 0x18]
mov rcx, rax
test rax, rax
jne 0x14005428c
mov rcx, qword [r8]
mov r15, r8
xor edx, edx
movzx r8d, byte [rcx + rdx]
movzx r11d, byte [r10 + rdx]
cmp r8b, r11b
jne 0x1400542a7
test r8, r8
jne 0x1400542b1
jmp 0x1400542b6
mov r8b, byte [r8 + rsi]
cmp r8b, byte [r11 + rsi]
jne 0x1400542f2
inc rdx
jmp 0x140054291
test rax, rax
mov edx, ebx
mov r8, r15
je 0x14005432e
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x104], 2
jb 0x14005432e
mov rax, qword [rsp + 0x40]
mov rax, qword [rax + 0x188]
test rax, rax
je 0x14005432e
mov rcx, qword [rsp + 0xc8]
cmp qword [rax], rcx
je 0x140054327
mov rax, qword [rax + 0x18]
jmp 0x1400542da
mov r11d, ebp
mov rcx, qword [rsp + 0x88]
mov edx, ebx
jmp 0x1400544a4
mov rax, qword [rsp + 0x90]
mov r11d, eax
mov r12, rbx
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x98]
jmp 0x1400544a0
mov qword [rax], 0
lea r11d, [rbp + 1]
test ebp, ebp
mov rax, qword [rsp + 0x68]
cmove rax, rdi
mov qword [rsp + 0x68], rax
movsx ecx, word [r8 + 0x46]
test ecx, ecx
jle 0x140054452
mov dword [rsp + 0x74], edx
mov dword [rsp + 0x90], r11d
mov qword [rsp + 0xb8], r8
mov rdx, qword [r8 + 8]
xor eax, eax
mov r8, qword [rdx]
xor r9d, r9d
movzx r10d, byte [r8 + r9]
movzx r11d, byte [r14 + r9]
cmp r10b, r11b
jne 0x140054385
test r10, r10
jne 0x140054393
jmp 0x140054398
mov r10b, byte [r10 + rsi]
cmp r10b, byte [r11 + rsi]
jne 0x140054442
inc r9
jmp 0x14005436f
cmp r12d, 1
jne 0x14005445c
test byte [rdi + 0x3c], 4
jne 0x140054442
mov r9, qword [rdi + 0x50]
test r9, r9
je 0x14005445c
mov r8d, dword [r9 + 8]
test r8d, r8d
jle 0x14005445c
mov r15, qword [r9]
mov r11b, 1
xor r10d, r10d
mov qword [rsp + 0x98], r15
mov r9d, ecx
mov rcx, rdi
mov rbx, r12
mov rdi, r10
shl rdi, 4
mov rdi, qword [r15 + rdi]
xor r15d, r15d
movzx r12d, byte [rdi + r15]
movzx r13d, byte [r14 + r15]
cmp r12b, r13b
jne 0x140054404
test r12, r12
jne 0x14005440f
jmp 0x140054433
mov bpl, byte [r12 + rsi]
cmp bpl, byte [r13 + rsi]
jne 0x140054414
inc r15
jmp 0x1400543ee
inc r10
cmp r10, r8
setb r11b
mov r12, rbx
mov rdi, rcx
mov ecx, r9d
mov r15, qword [rsp + 0x98]
jne 0x1400543d7
jmp 0x14005445c
test r11b, 1
mov r12, rbx
mov rdi, rcx
mov ecx, r9d
je 0x14005445c
inc eax
add rdx, 0x20
cmp eax, ecx
jne 0x140054369
jmp 0x140054486
mov rcx, qword [rsp + 0x88]
jmp 0x1400544a4
inc r12d
mov rcx, qword [rsp + 0xb8]
movsx ecx, word [rcx + 0x44]
cmp eax, ecx
mov ecx, 0xffff
cmove eax, ecx
mov rcx, qword [rsp + 0x48]
mov word [rcx + 0x2c], ax
mov rax, rdi
mov qword [rsp + 0x68], rdi
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov r11d, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x88]
mov edx, dword [rsp + 0x74]
inc edx
add rdi, 0x70
mov ebp, r11d
cmp edx, dword [rcx]
jl 0x140054170
jmp 0x1400544bf
xor r12d, r12d
jmp 0x140054516
xor r12d, r12d
mov rdx, qword [rsp + 0x68]
test rdx, rdx
je 0x140054507
mov eax, dword [rdx + 0x44]
mov rcx, qword [rsp + 0x80]
mov dword [rcx], eax
mov rax, qword [rdx + 0x20]
mov rcx, qword [rsp + 0xc8]
mov qword [rcx], rax
test byte [rdx + 0x3c], 8
mov rbx, qword [rsp + 0xc0]
je 0x1400544fc
mov rcx, qword [rsp + 0x48]
or byte [rcx + 6], 0x10
mov rax, qword [rax + 0x70]
mov qword [rsp + 0x78], rax
jmp 0x140054516
xor eax, eax
mov qword [rsp + 0x68], rax
mov rbx, qword [rsp + 0xc0]
test r11d, r11d
sete al
and al, byte [rsp + 0x73]
cmp al, 1
jne 0x140054762
mov rax, qword [rsp + 0xb0]
cmp qword [rax], 0
je 0x1400545c3
mov rax, qword [rsp + 0x40]
mov al, byte [rax + 0xb8]
cmp al, 0x7c
jne 0x140054573
xor eax, eax
lea rcx, [0x1402b0e80]
movzx ecx, byte [rax + rcx]
movzx edx, byte [r10 + rax]
cmp cl, dl
jne 0x140054566
test rcx, rcx
jne 0x14005456e
jmp 0x14005459f
mov cl, byte [rcx + rsi]
cmp cl, byte [rdx + rsi]
jne 0x1400545c3
inc rax
jmp 0x14005454b
xor ecx, ecx
lea rdx, [0x1402b0e60]
movzx edx, byte [rcx + rdx]
movzx r8d, byte [r10 + rcx]
cmp dl, r8b
jne 0x140054591
test rdx, rdx
jne 0x14005459a
jmp 0x1400545a3
mov dl, byte [rdx + rsi]
cmp dl, byte [r8 + rsi]
jne 0x1400545bf
inc rcx
jmp 0x140054575
xor eax, eax
jmp 0x1400545a8
mov eax, 1
mov rcx, qword [rsp + 0x80]
mov dword [rcx], eax
mov rax, qword [rsp + 0xb0]
mov rdi, qword [rax]
jmp 0x1400545c5
cmp al, 0x7b
jne 0x140054549
xor edi, edi
test byte [rbx + 0x29], 2
je 0x140054616
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140054616
xor ecx, ecx
lea rdx, [0x1402b0ea0]
movzx edx, byte [rcx + rdx]
movzx r8d, byte [r10 + rcx]
cmp dl, r8b
jne 0x1400545f2
test rdx, rdx
jne 0x1400545fb
jmp 0x140054600
mov dl, byte [rdx + rsi]
cmp dl, byte [r8 + rsi]
jne 0x140054616
inc rcx
jmp 0x1400545d6
mov rax, qword [rax + 0x28]
mov rdi, qword [rax + 0x28]
mov rax, qword [rsp + 0x80]
mov dword [rax], 2
test rdi, rdi
je 0x14005467d
mov r15, rbx
mov rax, qword [rdi + 0x70]
mov qword [rsp + 0x78], rax
movsx ebx, word [rdi + 0x46]
test ebx, ebx
jle 0x140054685
mov rax, qword [rdi + 8]
xor ebp, ebp
mov rcx, qword [rax]
xor edx, edx
movzx r8d, byte [rcx + rdx]
movzx r11d, byte [r14 + rdx]
cmp r8b, r11b
jne 0x140054650
test r8, r8
jne 0x14005465a
jmp 0x14005466d
mov r8b, byte [r8 + rsi]
cmp r8b, byte [r11 + rsi]
jne 0x14005465f
inc rdx
jmp 0x14005463a
inc ebp
add rax, 0x20
cmp ebp, ebx
jne 0x140054635
mov ebp, ebx
jmp 0x14005468b
movsx eax, word [rdi + 0x44]
cmp ebp, eax
mov eax, 0xffffffff
cmove ebp, eax
jmp 0x140054687
xor r11d, r11d
jmp 0x1400547be
xor ebp, ebp
cmp ebp, ebx
jl 0x1400546b1
mov rcx, r14
call fcn.140056115
test eax, eax
je 0x1400546a7
mov al, byte [rdi + 0x40]
and al, 0x40
cmp al, 1
mov eax, 0
sbb eax, eax
or ebp, eax
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov r11d, 1
cmp ebp, ebx
jge 0x1400546f2
inc r12d
mov rax, qword [rsp + 0x80]
mov eax, dword [rax]
cmp eax, 2
mov rbx, r15
jne 0x1400546f7
mov rax, qword [rsp + 0x40]
cmp byte [rax + 0x104], 2
jb 0x140054720
mov rax, qword [rsp + 0x48]
mov word [rax + 0x2c], bp
mov qword [rax + 0x40], rdi
mov byte [rsp + 0x3f], 0xa2
jmp 0x140054762
mov rbx, r15
jmp 0x140054762
test ebp, ebp
js 0x14005473a
mov edx, 1
mov ecx, ebp
shl edx, cl
cmp ebp, 0x20
mov ecx, 0xffffffff
cmovae edx, ecx
test eax, eax
je 0x140054745
mov rax, qword [rsp + 0x40]
or dword [rax + 0xb4], edx
jmp 0x140054750
mov rax, qword [rbx + 0x10]
add ebp, dword [rax + 0x30]
mov rax, qword [rsp + 0x48]
mov dword [rax + 0x28], ebp
or byte [rax + 6], 0x40
mov byte [rsp + 0x3f], 0xab
jmp 0x140054762
mov rax, qword [rsp + 0x48]
mov byte [rax + 1], 0x44
jmp 0x140054755
mov rax, qword [rsp + 0x40]
or dword [rax + 0xb0], edx
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x40], rdi
mov word [rax + 0x2c], bp
mov byte [rsp + 0x3f], 0x4d
test r12d, r12d
jne 0x1400547be
cmp r11d, 1
jne 0x1400547be
cmp qword [rsp + 0x68], 0
je 0x1400547be
xor r12d, r12d
mov r11d, 1
test byte [rbx + 0x28], 0x20
jne 0x1400547be
mov rcx, r14
call fcn.140056115
test eax, eax
je 0x1400547ae
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x20]
test byte [rax + 0x40], 0x40
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
jne 0x1400547b8
jmp 0x140054f1c
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov r11d, 1
test r10, r10
jne 0x140054833
mov ecx, dword [rbx + 0x28]
mov eax, ecx
and eax, 0x80
je 0x140054833
test r12d, r12d
jne 0x140054833
mov rdx, qword [rbx + 0x10]
mov r15d, dword [rdx]
test r15d, r15d
jle 0x14005483c
xor r8d, r8d
mov ebp, r11d
lea rax, [r8 + r8*4]
mov rax, qword [rdx + rax*8 + 0x10]
test rax, rax
je 0x14005481c
xor r10d, r10d
movzx r11d, byte [rax + r10]
movzx edi, byte [r14 + r10]
cmp r11b, dil
jne 0x14005480d
test r11, r11
jne 0x140054817
jmp 0x14005486a
mov r11b, byte [r11 + rsi]
cmp r11b, byte [rdi + rsi]
jne 0x14005481c
inc r10
jmp 0x1400547f7
inc r8
cmp r8, r15
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
mov r11d, ebp
jne 0x1400547e3
jmp 0x14005483c
test r12d, r12d
jne 0x1400549af
mov rbx, qword [rbx + 0x18]
inc dword [rsp + 0xa4]
test rbx, rbx
jne 0x14005413e
lea r8, [0x1402b0f60]
test r10, r10
je 0x140054adf
xor r12d, r12d
xor ebx, ebx
jmp 0x140054a94
mov r9d, r8d
lea r9, [r9 + r9*4]
mov r9, qword [rdx + r9*8 + 8]
test cl, 1
jne 0x140054882
test byte [r9 + 4], 0x10
jne 0x1400548b8
bt ecx, 0xe
mov rsi, qword [rsp + 0x40]
jb 0x140054894
test byte [r9 + 5], 0x80
jne 0x1400548c6
mov al, byte [r9]
cmp al, 0xab
jne 0x14005489f
mov al, byte [r9 + 0x32]
cmp al, 0x86
mov rdi, qword [rsp + 0x48]
je 0x1400548da
movzx eax, al
cmp eax, 0xac
jne 0x1400548e6
add r9, 0x20
jmp 0x1400548de
lea rdx, [0x1402b0ec0]
mov rcx, qword [rsp + 0x40]
jmp 0x1400548d0
lea rdx, [0x1402b0ee0]
mov rcx, rsi
mov r8, rax
call fcn.1400397e7
jmp 0x140054943
mov r9, qword [r9 + 0x20]
mov rax, qword [r9]
cmp dword [rax], 1
jne 0x140054934
mov eax, dword [rsp + 0xa4]
mov dword [rsp + 0x28], eax
lea rax, [0x14023a7e6]
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov r9, rdi
call fcn.140055e15
cmp byte [rsi + 0x104], 2
jb 0x1400549e5
mov rax, qword [rsi + 0x188]
test rax, rax
je 0x1400549e5
cmp qword [rax], rdi
je 0x1400549de
mov rax, qword [rax + 0x18]
jmp 0x14005491c
lea rdx, [0x1402b0540]
mov rcx, rsi
call fcn.1400397e7
mov eax, 2
jmp 0x140053d97
mov ecx, dword [rdx + 0x28]
test ecx, ecx
jle 0x140054a81
mov r12, r9
mov r15, r10
mov rax, qword [rdx + 0x20]
xor edx, edx
mov qword [rsp + 0x78], rdx
lea r8, str.y
xor edx, edx
mov r9, rdx
shl r9, 5
mov r9, qword [rax + r9]
xor r10d, r10d
movzx r11d, byte [r9 + r10]
movzx esi, byte [r12 + r10]
cmp r11b, sil
jne 0x140054996
test r11, r11
jne 0x1400549a0
jmp 0x1400549c3
mov r11b, byte [r11 + r8]
cmp r11b, byte [rsi + r8]
jne 0x1400549a5
inc r10
jmp 0x140054980
inc rdx
cmp rdx, rcx
jne 0x140054972
jmp 0x1400549d3
cmp r12d, 1
jne 0x140054a8d
mov rdi, rbx
mov bl, 1
jmp 0x140054e87
mov ecx, edx
shl rcx, 5
mov rax, qword [rax + rcx + 0x18]
mov qword [rsp + 0x78], rax
mov r10, r15
mov r9, r12
jmp 0x1400540d7
mov qword [rax], 0
mov rcx, rsi
mov rsi, qword [rsp + 0x48]
test byte [rsi + 6], 0x40
mov r10, qword [rsp + 0x78]
jne 0x140055000
test r10, r10
je 0x140055000
mov rdx, qword [rcx]
cmp qword [rdx + 0x1a0], 0
je 0x140055000
mov rax, qword [rbx + 8]
mov r8, qword [rdx + 0x20]
add r8, 0x18
mov r9, 0xffffffffffffffff
inc r9
lea rdx, [r8 + 0x20]
cmp qword [r8], r10
mov r8, rdx
jne 0x140054a29
test r9d, r9d
js 0x140055000
cmp byte [rsi], 0x4d
je 0x140054fba
mov r11d, dword [rax]
test r11d, r11d
jle 0x140055000
mov rdx, qword [rsp + 0x80]
mov r8d, dword [rdx]
lea r10, [rax + 0x4c]
xor edx, edx
cmp r8d, dword [r10]
je 0x140054fa5
inc rdx
add r10, 0x70
cmp r11, rdx
jne 0x140054a67
jmp 0x140055000
xor eax, eax
mov qword [rsp + 0x78], rax
jmp 0x1400540d7
lea r8, [0x1402b0f80]
mov rdi, rbx
test r9, r9
je 0x140054aba
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r10
lea rdx, [0x1402b0fa0]
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
jmp 0x140054e6f
test r10, r10
je 0x140054e5d
mov qword [rsp + 0x20], r14
lea rdx, [0x1402ac4e0]
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
mov r9, r10
jmp 0x140054e6f
mov rax, qword [rsp + 0x48]
test byte [rax + 4], 0x40
mov rcx, qword [rsp + 0xa8]
jne 0x140054f35
mov rsi, r8
mov rcx, qword [rsp + 0x48]
call fcn.14003dbc0
mov ecx, eax
mov eax, 1
test ecx, ecx
jne 0x140053d97
xor r12d, r12d
xor ebx, ebx
mov r8, rsi
mov r10, qword [rsp + 0x60]
mov r9, qword [rsp + 0x50]
jmp 0x140054a94
mov r13, qword [rsp + 0x40]
cmp byte [r13 + 0x104], 1
ja 0x140054b51
mov r8, qword [r12 + 0x38]
lea rdx, [0x1402b0c20]
mov rcx, r13
call fcn.1400397e7
mov rcx, qword [rsp + 0x60]
mov al, 1
movzx edi, sil
lea rsi, [r13 + 0x104]
cmp byte [r13 + 0x104], 2
jae 0x140054bd2
test r12, r12
mov r13d, ebx
je 0x140054c72
cmp qword [r12 + 0x28], 0
jne 0x140054c72
test r14, r14
je 0x140054c72
lea rdx, [0x1402b0c60]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x68]
mov r9, r15
call fcn.1400397e7
mov rax, qword [rsp + 0x58]
inc dword [rax + 0x24]
test edi, edi
mov rcx, qword [rsp + 0x60]
je 0x140054cfb
cmp r14, 1
mov eax, 0xffffbfff
sbb eax, 0
mov rdx, qword [rsp + 0x58]
and dword [rdx + 0x28], eax
jmp 0x140054bf6
mov r13d, ebx
mov rax, qword [rsp + 0x48]
test byte [rax + 7], 1
mov rbx, qword [rsp + 0x50]
jne 0x140054bf6
mov rdx, rbx
call fcn.14004c8d7
test edi, edi
jne 0x140054bfe
jmp 0x140054e16
mov rdx, rbx
call fcn.14004c8d7
test r14, r14
je 0x140054d08
mov rax, qword [rsp + 0x58]
mov rdi, qword [rax + 0x30]
cmp byte [rsi], 1
ja 0x140054c29
mov rdx, qword [rdi + 0x78]
mov rcx, qword [rsp + 0x40]
mov r8, r14
mov r9, r12
call fcn.140056503
mov rdx, qword [r14 + 0x10]
mov rsi, qword [rsp + 0x60]
mov rcx, rsi
call fcn.14004c8d7
mov rdx, qword [r14 + 0x18]
mov rcx, rsi
call fcn.14004c8d7
mov rdx, qword [r14 + 0x48]
test rdx, rdx
je 0x140054c59
mov rcx, qword [rsp + 0x60]
call fcn.14004c568
mov rcx, rdi
mov rdx, r14
call fcn.14004d38e
mov rax, qword [rsp + 0x58]
or byte [rax + 0x29], 0x80
jmp 0x140054e0d
test edi, edi
je 0x140054dd3
mov rdx, qword [rsp + 0x58]
mov r8d, dword [rdx + 0x28]
mov edx, dword [r12 + 4]
test r8b, 1
je 0x140054caf
bt edx, 0x10
jae 0x140054c99
test r14, r14
je 0x140054caf
test r14, r14
je 0x140055027
and r8d, 0x4000
jne 0x140055027
test r14, r14
lea rax, [0x1402b0ca0]
lea r8, [0x1402b0cc0]
cmovne r8, rax
test edx, 0x10000
cmovne r8, rax
mov qword [rsp + 0x20], r15
lea rdx, [0x1402b0ce0]
mov rcx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x68]
call fcn.1400397e7
mov rbx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
inc dword [rax + 0x24]
mov rcx, qword [rsp + 0x60]
mov rdx, rbx
call fcn.14004c8d7
jmp 0x140054e16
mov rsi, qword [rsp + 0x48]
mov byte [rsi], 0xa3
mov byte [rsi + 0x32], 0
test byte [rsi + 7], 1
mov rcx, qword [rsp + 0x60]
je 0x140054d31
mov rax, qword [rsi + 0x40]
mov rdx, qword [rax + 0x48]
test rdx, rdx
je 0x140054d31
call fcn.14004c568
xorps xmm6, xmm6
xor ebx, ebx
mov rcx, rsi
lea r14, [0x1400566e9]
lea r15, [0x1400222c3]
lea rbp, [rsp + 0xd0]
lea rsi, [rsp + 0xe0]
mov rdi, qword [rsp + 0x58]
mov rax, qword [rdi + 8]
movaps xmmword [rsp + 0xe0], xmm6
movaps xmmword [rsp + 0xf0], xmm6
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], r15
mov qword [rsp + 0x108], rbp
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rbx
mov rdx, qword [rcx + 0x20]
mov rcx, rsi
call fcn.14004c8d7
cmp dword [rsp + 0xd8], 0
jg 0x140054df5
cmp dword [rsp + 0xdc], 0
je 0x140054df5
mov rcx, qword [rsp + 0x48]
inc byte [rcx + 0x32]
mov rdi, qword [rdi + 0x18]
test rdi, rdi
jne 0x140054d5c
jmp 0x140054e0d
xor edi, edi
test al, al
je 0x140054e20
test bpl, bpl
mov rbx, qword [rsp + 0x50]
jne 0x140055050
xor edi, edi
lea rdx, [0x1402b0d20]
jmp 0x140054b95
test r12, r12
je 0x140054e0d
mov eax, 0x1000
and eax, dword [r12 + 4]
or eax, dword [rdi + 0x28]
or eax, 0x10
mov dword [rdi + 0x28], eax
mov rax, qword [rsp + 0x58]
or dword [rax + 0x28], r13d
mov eax, 1
jmp 0x140053d97
xor eax, eax
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx]
cmp byte [rdx + 0xb5], 0
je 0x140054f99
test bpl, bpl
je 0x14005509a
test al, al
mov rbx, qword [rsp + 0x50]
jne 0x140054bbc
jmp 0x140055050
mov dil, al
xor r12d, r12d
jmp 0x140054bd5
lea rdx, [0x1402ac500]
mov rsi, qword [rsp + 0x40]
mov rcx, rsi
mov r9, r14
call fcn.1400397e7
mov byte [rsi + 0x1d], 1
mov rax, qword [rsp + 0x58]
inc dword [rax + 0x24]
cmp r12d, 1
sete bl
mov rsi, qword [rsp + 0x48]
mov bpl, byte [rsp + 0x3f]
movzx eax, word [rsi + 0x2c]
test ax, ax
js 0x140054ebf
cmp qword [rsp + 0x68], 0
je 0x140054ebf
cmp ax, 0x3f
mov ecx, 0x3f
cmovl ecx, eax
mov eax, 1
shl rax, cl
mov rcx, qword [rsp + 0x68]
or qword [rcx + 0x58], rax
mov rdx, qword [rsi + 0x10]
test rdx, rdx
je 0x140054ed5
mov rcx, qword [rsp + 0xa8]
call fcn.1400204fd
mov qword [rsi + 0x10], 0
mov rdx, qword [rsi + 0x18]
test rdx, rdx
je 0x140054ef3
mov rcx, qword [rsp + 0xa8]
call fcn.1400204fd
mov qword [rsi + 0x18], 0
mov byte [rsi], bpl
or byte [rsi + 6], 0x80
mov eax, 2
test bl, bl
mov rcx, qword [rsp + 0x40]
mov rbx, rdi
je 0x140053d97
jmp 0x1400549e8
mov rdi, rbx
mov rsi, qword [rsp + 0x48]
mov word [rsi + 0x2c], 0xffff
mov byte [rsi + 1], 0x44
mov bl, 1
jmp 0x140054e8c
cmp byte [rcx + 0xb5], 0
jne 0x140054f70
mov rax, qword [rsp + 0x58]
test byte [rax + 0x2a], 1
mov rax, qword [rcx + 0x30]
mov ecx, 0x1e
je 0x140054f67
mov edx, eax
and edx, 0x50000001
mov ecx, 0x1d
cmp edx, 0x40000001
je 0x140054f70
bt eax, ecx
jae 0x140054af6
lea rdx, [0x1402b0f20]
mov ecx, 0x1c
mov r8, r14
call fcn.14001f1b1
mov rax, qword [rsp + 0x48]
mov byte [rax], 0x71
mov qword [rax + 0x40], 0
jmp 0x140054e16
lea rdx, [0x1402b0d00]
jmp 0x140054b90
mov edx, edx
imul rdx, rdx, 0x70
add rax, rdx
add rax, 0x28
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax]
test rax, rax
je 0x140055000
movsx rdx, word [rsi + 0x2c]
test dx, dx
js 0x140054fd8
mov edx, edx
jmp 0x140054fe5
movzx edx, word [rax + 0x44]
test dx, dx
js 0x14005507d
shl rdx, 5
add rdx, qword [rax + 8]
mov r8, qword [rdx]
mov rdx, qword [rax]
call fcn.1400561af
cmp eax, 2
jne 0x140055000
mov byte [rsi], 0x75
mov rcx, qword [rsp + 0x58]
inc dword [rcx + 0x20]
mov eax, 1
cmp rbx, rcx
je 0x140053d97
mov rcx, qword [rcx + 0x18]
inc dword [rcx + 0x20]
cmp rcx, rbx
jne 0x140055016
jmp 0x140053d97
test al, al
je 0x140055089
test bpl, bpl
je 0x140055095
mov rbx, qword [rsp + 0x50]
jmp 0x140054bbc
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
cmp byte [rax + 0xb5], 0
mov rbx, qword [rsp + 0x50]
je 0x1400550a6
mov rax, qword [rsp + 0x48]
test byte [rax + 7], 1
je 0x140054cfb
lea rdx, [0x1402b0d60]
mov rcx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x68]
mov r9, r15
call fcn.1400397e7
jmp 0x140054cee
lea r8, str._X_tH
jmp 0x140054ff0
mov al, 1
mov edi, 1
jmp 0x140054e22
mov edi, 1
lea rdx, [0x1402b0d20]
jmp 0x140054b90
lea rdx, [0x1402b0d00]
xor r12d, r12d
jmp 0x140054b95