Function at 0x14035d430
Capabilities:
Encode data using xor
Execute anti-debugging instructions
Resolve function by parsing pe exports

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xd08
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc80], 0xfffffffffffffffe
mov qword [rbp + 0xc78], 0
cmp rcx, 0x1fefa
je 0x14035d4a0
mov rsi, rdx
mov rbx, rcx
call fcn.14035e3d0
rdtsc
mov r8, rax
shl rdx, 0x20
test rsi, rsi
je 0x14035d538
mov rax, qword [rsi]
cmp rax, 7
jb 0x14035d528
inc qword [0x140541190]
jmp 0x14035d566
cmp qword [0x1405411fc], 0x33c0
jne 0x14035e211
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov dword [rsp + 0x40], 0x660033e8
mov dword [rsp + 0x38], 0xc8220f6b
mov dword [rsp + 0x30], 0xafb2d788
mov ecx, 1
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.1403620a0
mov rcx, rax
not rcx
movabs rdx, 0x7fffffffffffcc3f
and rdx, rcx
and ecx, 0x33c0
mov r8, rax
and r8, 0xffffffffffffcc3f
or r8, rcx
xor rax, 0x33c0
or rdx, rax
not rdx
lea rax, [r8 + rdx*2]
mov qword [0x1405411fc], rax
jmp 0x14035e211
cmp rax, qword [0x140541188]
jbe 0x14035d538
mov qword [0x140541188], rax
test rbx, rbx
je 0x14035d566
mov r14d, 1
nop word cs:[rax + rax]
lea edi, [r14 - 1]
movzx eax, byte [rbx + rdi]
test eax, eax
je 0x14035d56f
cmp eax, 0x2e
je 0x14035d56f
inc r14d
jmp 0x14035d550
xor esi, esi
xor ebx, ebx
jmp 0x14035e0aa
mov qword [rbp + 0xc20], rsi
xor esi, esi
mov qword [rbp + 0xc48], rbx
cmp byte [rbx + rdi], 0x2e
mov ebx, 0
jne 0x14035e0aa
mov qword [rbp + 0xc30], rdx
mov qword [rbp + 0xc28], r8
mov r15, qword [0x140541230]
movsxd r13, dword [r15]
neg r13
mov eax, dword [0x14055f1b0]
mov ecx, 0xaa237d29
sub ecx, eax
imul ecx, eax
test cl, 1
jne 0x14035d5d6
mov r12d, dword [0x14044ce70]
mov eax, dword [0x14055f1b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14035d5ec
mov al, 1
nop dword [rax + rax]
mov ecx, dword [0x14044ce70]
test al, al
je 0x14035d5e0
jmp 0x14035d5be
mov qword [rbp + 0xc68], 0
mov r8d, 0x400
sub r8, rdi
xor ecx, ecx
cmp edi, 0x400
mov eax, 0
mov qword [rbp + 0xc58], rax
cmovae r8, rcx
lea rcx, [rdi + rbp]
add rcx, 0x7d0
xor edx, edx
call fcn.14040d340
lea rbx, [rbp + 0x7d0]
mov rcx, rbx
mov rdx, qword [rbp + 0xc48]
mov r8, rdi
call fcn.14040cc90
mov dword [rsp + 0x20], 0xac764676
xor ecx, ecx
mov rdx, rbx
mov r8d, 0xe14874af
mov r9d, 0x5b82d961
call fcn.140361360
mov qword [rbp + 0xc68], rax
mov ecx, 0
mov qword [rbp + 0xc50], rcx
test rax, rax
jne 0x14035d7ca
xor eax, eax
mov qword [rbp + 0xc50], rax
lea rcx, [rbp + 0x7d0]
xor edx, edx
call fcn.14035cb60
xor ecx, ecx
test rax, rax
sete cl
lea rsi, [0x1405410e0]
mov rdx, qword [rsi + rcx*8 + 0x58]
mov r8, rdx
xor r8, 1
and edx, 1
mov qword [rbp + 0xc68], rax
lea rdx, [r8 + rdx*2]
mov qword [rsi + rcx*8 + 0x58], rdx
test rax, rax
jne 0x14035d7ca
mov dword [rsp + 0x20], 0xb0c0a3ad
mov ebx, 1
xor eax, eax
mov qword [rbp + 0xc50], rax
mov ecx, 1
xor edx, edx
mov r8d, 0x2dd56673
mov r9d, 0x5214ceab
call fcn.140361380
test rax, rax
je 0x14035d7ca
mov qword [rbp + 0xc00], 0
lea rcx, [rbp - 0x30]
mov qword [rbp + 0xc08], rcx
xor ecx, ecx
xor r8d, r8d
nop dword [rax]
mov edx, r8d
mov r8d, r8d
movsx r9d, byte [rbp + r8 + 0x7d0]
xor r10d, r10d
test r9w, r9w
setne r10b
mov word [rbp + r8*2 - 0x30], r9w
mov r8, r10
movzx ecx, cl
cmove ecx, ebx
add r8d, edx
test cl, 1
je 0x14035d720
lea ecx, [r8 + r8]
mov word [rbp + 0xc00], cx
lea ecx, [r8 + r8]
add ecx, 2
mov word [rbp + 0xc02], cx
lea r8, [rbp + 0xc00]
lea r9, [rbp + 0xc68]
xor ecx, ecx
xor edx, edx
call qword [case.0x140303ece.0]
mov rdx, qword [rbp + 0xc68]
xor eax, eax
mov rcx, rdx
mov qword [rbp + 0xc50], rdx
test rdx, rdx
sete al
movabs rcx, 0x8ecdd9a4830013b1
add rcx, qword [rsi + rax*8 + 0x20]
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
movabs rdx, 0x7132265b7cffec4f
add rdx, rcx
mov qword [rsi + rax*8 + 0x20], rdx
lea rcx, [rbp + 0x7d0]
xor edx, edx
mov r8, rdi
call fcn.14040d340
mov eax, r14d
mov rcx, qword [rbp + 0xc48]
movzx eax, byte [rcx + rax]
mov esi, 0
mov byte [rbp + 0xc38], al
cmp al, 0x23
jne 0x14035d827
mov eax, edi
xor eax, 2
and edi, 2
lea r14d, [rax + rdi*2]
add rcx, r14
mov edx, 0xebd6fa88
mov r8d, 0x72bb86f8
mov r9d, 0xba167851
call fcn.1402b3330
mov qword [rbp + 0xc58], rax
mov sil, 1
mov rax, qword [rbp + 0xc20]
test rax, rax
je 0x14035d89a
cmp qword [rax], 7
jb 0x14035d89a
mov rax, qword [0x140541190]
movabs rcx, 0x1167b0ac738738c
add rcx, rax
xor rcx, 1
movabs rdx, 0xfee984f538c78c73
sub rdx, rax
movabs rax, 0x7ffffffffffffffe
and rax, rdx
or rax, rcx
not rax
add rax, rax
mov rdx, rcx
xor rdx, rax
and rax, rcx
lea rax, [rdx + rax*2]
movabs rcx, 0xfee984f538c78c74
add rcx, rax
mov qword [0x140541190], rcx
jmp 0x14035df92
sub r15, r13
mov rax, qword [rbp + 0xc68]
mov qword [rbp + 0xc60], rax
mov al, 1
test al, al
jne 0x14035e22c
jmp 0x14035e268
movsxd rcx, dword [r15 + 0x3c]
mov eax, dword [r15 + rcx + 0x88]
test rax, rax
mov rsi, qword [rbp + 0xc70]
je 0x14035df92
mov r11d, dword [r15 + rcx + 0x8c]
test r11, r11
je 0x14035df92
cmp dword [r15 + rcx + 0x8c], 0x28
jb 0x14035df92
lea r8, [r15 + rax]
add r11, r8
mov ecx, dword [r8 + 0x1c]
add rcx, r15
mov qword [rbp + 0xc10], rcx
mov ecx, dword [r8 + 0x14]
cmp byte [rbp + 0xc38], 0x23
jne 0x14035d9e8
mov edx, dword [r8 + 0x10]
movabs r8, 0xe562be1bf3b812f2
sub r8, qword [0x140541110]
movabs r9, 0x1a9d41e40c47ed0e
mov r10, r8
xor r10, r9
and r8, r9
lea r8, [r10 + r8*2]
mov r9d, 1
sub r9, r8
mov qword [0x140541110], r9
test ecx, ecx
je 0x14035df92
mov bl, 1
mov rdi, qword [rbp + 0xc58]
mov r8d, edi
sub r8d, edx
jb 0x14035e047
cmp r8d, ecx
jae 0x14035e047
mov ecx, r8d
mov rdx, qword [rbp + 0xc10]
mov ebx, dword [rdx + rcx*4]
test rbx, rbx
je 0x14035df92
mov ecx, ebx
add rbx, r15
cmp ecx, eax
jb 0x14035deb7
cmp rbx, r11
ja 0x14035deb7
mov rcx, rbx
mov rdx, qword [rbp + 0xc48]
call fcn.14035c890
test al, al
je 0x14035dec3
mov rcx, rbx
mov rdx, r15
call fcn.14035cb60
test rax, rax
je 0x14035deed
mov qword [rbp + 0xc68], rax
lea rax, [0x140541138]
jmp 0x14035def4
mov r9d, dword [r8 + 0x20]
mov eax, dword [r8 + 0x24]
mov r10d, dword [r8 + 0x18]
inc qword [0x140541118]
xor ebx, ebx
test ecx, ecx
je 0x14035e047
add r9, r15
add rax, r15
test r10d, r10d
je 0x14035e047
mov qword [rbp + 0xbe8], rax
mov qword [rbp + 0xbf0], r8
mov qword [rbp + 0xbf8], r11
mov qword [rbp + 0xbe0], rdx
je 0x14035e047
mov eax, r14d
add rax, qword [rbp + 0xc48]
mov qword [rbp + 0xc60], rax
xor ecx, ecx
mov qword [rbp + 0xc38], r9
mov dword [rbp + 0xc44], r10d
mov r14, qword [rbp + 0xc60]
jmp 0x14035da9d
mov qword [rbp + 0xc78], 0
mov rcx, qword [rbp + 0xc58]
mov eax, ecx
xor eax, 1
and ecx, 1
lea ecx, [rax + rcx*2]
xor ebx, ebx
mov r10d, dword [rbp + 0xc44]
cmp ecx, r10d
mov rsi, qword [rbp + 0xc70]
mov r9, qword [rbp + 0xc38]
jae 0x14035e047
mov qword [rbp + 0xc58], rcx
mov eax, ecx
mov r8d, dword [r9 + rax*4]
test r8, r8
je 0x14035da6b
mov rsi, qword [rbp + 0xc68]
add r8, rsi
xor r9d, r9d
mov rdi, qword [rbp + 0xbd8]
mov ebx, dword [rbp + 0xc1c]
nop dword [rax]
movzx ecx, byte [r8 + r9]
movzx edx, byte [r14 + r9]
cmp cl, dl
setne r10b
test cl, cl
sete r11b
or r11b, r10b
jne 0x14035daf0
inc r9
jmp 0x14035dad0
mov r8d, dword [0x14055f1b4]
cmp r8d, 0x25
jge 0x14035de20
jmp 0x14035ddb0
mov rcx, qword [rbp + 0xbe8]
movzx eax, word [rcx + rax*2]
mov rcx, qword [rbp + 0xc10]
mov edi, dword [rcx + rax*4]
test rdi, rdi
je 0x14035da6b
add rdi, rsi
cmp rdi, qword [rbp + 0xbf0]
jb 0x14035dbf2
cmp rdi, qword [rbp + 0xbf8]
ja 0x14035dbf2
mov rcx, rdi
mov rdx, qword [rbp + 0xc48]
call fcn.14035c890
test al, al
je 0x14035dbd1
mov rcx, rdi
mov rdx, rsi
call fcn.14035cb60
test rax, rax
je 0x14035dc23
mov qword [rbp + 0xc68], rax
mov rcx, qword [0x140541138]
mov edx, ecx
not edx
and edx, 1
mov r8, rcx
and r8, 0xfffffffffffffffe
or r8, rdx
and ecx, 1
lea rcx, [r8 + rcx*2]
mov qword [0x140541138], rcx
mov rcx, rax
mov rdx, qword [rbp + 0xc60]
call fcn.14035e7d0
mov qword [rbp + 0xc78], rax
mov rcx, qword [0x1405410e8]
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
mov qword [0x1405410e8], rcx
test rax, rax
je 0x14035dc3c
jmp 0x14035e03e
inc qword [0x1405410e0]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x14035dbe7
inc qword [rdx]
mov rcx, rdi
call fcn.14035d430
mov rdi, rax
mov qword [rbp + 0xc78], rdi
mov rsi, qword [rbp + 0xc70]
xor ebx, ebx
test rdi, rdi
jne 0x14035e047
mov rcx, qword [rbp + 0xc58]
inc ecx
mov r10d, dword [rbp + 0xc44]
cmp ecx, r10d
jmp 0x14035da90
inc qword [0x140541140]
mov qword [rbp + 0xc78], 0
inc qword [0x1405410e8]
call fcn.14036d110
test rax, rax
je 0x14035da60
mov qword [rbp - 0x30], 0
xor ecx, ecx
xor edx, edx
mov rsi, qword [rbp + 0xc60]
mov edi, 1
xor r8d, r8d
cmp byte [rsi + rcx], 0
setne r8b
mov r9, rcx
not r9
movzx edx, dl
cmove edx, edi
mov r10d, r8d
mov r11, rcx
xor rcx, r8
not r8
and r10d, r9d
and r11, r8
or r11, r10
and r8, r9
or r8, rcx
not r8
add r8, r8
mov rcx, r11
xor rcx, r8
and r8, r11
lea rcx, [rcx + r8*2]
test dl, 1
je 0x14035dc62
mov word [rbp - 0x30], cx
inc ecx
mov word [rbp - 0x2e], cx
mov qword [rbp - 0x28], rsi
mov rcx, qword [rbp + 0xc68]
lea rdx, [rbp - 0x30]
xor r8d, r8d
lea r9, [rbp + 0xc78]
call qword [case.0x140303ece.0]
cmp eax, 0xc0000142
je 0x14035dce3
cmp eax, 0xc0000138
jne 0x14035dd27
mov qword [rbp + 0xc78], 0
mov rax, qword [0x140541148]
mov rcx, qword [0x14055c400]
add rax, rcx
inc rax
mov qword [0x140541148], rax
mov rsi, qword [rbp + 0xc70]
inc qword [0x140541180]
lea rcx, [0x140541150]
lea rax, [0x140541160]
jmp 0x14035dd4d
inc qword [0x140541148]
cmp qword [rbp + 0xc78], 0
lea rcx, [0x140541168]
lea rax, [0x140541178]
mov rsi, qword [rbp + 0xc70]
je 0x14035dd10
mov rdx, qword [rcx]
mov r8d, edx
not r8d
and r8d, 1
mov r9, rdx
and r9, 0xfffffffffffffffe
or r9, r8
and edx, 1
lea rdx, [r9 + rdx*2]
mov qword [rcx], rdx
mov rcx, qword [rax]
movabs rdx, 0xd55a2486c6ff5963
add rcx, rdx
mov rdx, rcx
movabs r8, 0x2aa5db793900a69e
xor rdx, r8
and rcx, r8
add rcx, rcx
mov r8, rdx
xor r8, rcx
and rcx, rdx
lea rcx, [r8 + rcx*2]
mov qword [rax], rcx
mov rdi, qword [rbp + 0xc78]
jmp 0x14035dc00
mov r8d, edi
and r8d, ebx
movzx r10d, byte [0x14044ce74]
cmp r8d, 1
mov r9d, 0
sbb r9d, r9d
mov r8d, dword [0x14055f1b4]
cmp r8d, 0x4f
jge 0x14035de20
sub r10b, byte [rbp + 0xbe0]
not r9b
not r10b
mov r8d, r10d
xor r8b, r9b
and r8b, r10b
or r8b, r9b
not r8b
mov r9d, dword [0x14055f1b0]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
lea rdi, [fcn.14035d430]
jne 0x14035dea0
jmp 0x14035de42
movzx r8d, byte [0x14044ce74]
mov r8d, dword [0x14055f1b0]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x14035de20
jmp 0x14035ddb0
lea r9d, [rdi + rdi]
add r9d, 0xa60
mov r10d, r9d
not r10d
and r9d, r10d
lea r11d, [rdi + rdi]
add r11d, 0xa61
and r10d, 0xfffffffe
xor r10d, r11d
or r10d, r9d
cmp r10d, 0xffffffff
jne 0x14035dea0
movzx r9d, byte [0x14055de40]
mov r10d, r9d
xor r10b, r8b
and r9b, r8b
add r9b, r9b
add r9b, r10b
mov byte [0x14055de40], r9b
cmp cl, dl
je 0x14035db06
jmp 0x14035da6b
mov r9d, dword [0x14055f1b0]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x14035dea0
jmp 0x14035de42
mov qword [rbp + 0xc78], rbx
jmp 0x14035df92
inc qword [0x1405410e0]
mov rdx, qword [rbp + 0xc20]
test rdx, rdx
je 0x14035ded9
inc qword [rdx]
mov rcx, rbx
call fcn.14035d430
mov qword [rbp + 0xc78], rax
jmp 0x14035df92
lea rax, [0x140541140]
movabs rcx, 0x7779bc262af583f6
add rcx, qword [rax]
mov rdx, rcx
xor rdx, 1
and ecx, 1
lea rcx, [rdx + rcx*2]
movabs rdx, 0x888643d9d50a7c0a
add rdx, rcx
mov qword [rax], rdx
mov qword [rbp + 0xc78], 0
inc qword [0x1405410e8]
mov dword [rsp + 0x20], 0xb0c0a3ad
xor ecx, ecx
xor edx, edx
mov r8d, 0x2dd56673
mov r9d, 0x5214ceab
call fcn.140361380
test rax, rax
je 0x14035df87
inc qword [0x140541148]
mov rcx, qword [rbp + 0xc68]
lea r9, [rbp + 0xc78]
xor edx, edx
mov r8d, edi
call qword [case.0x140303ece.0]
cmp eax, 0xc0000138
jne 0x14035df99
mov qword [rbp + 0xc78], 0
jmp 0x14035dffa
mov qword [rbp + 0xc78], 0
xor ebx, ebx
jmp 0x14035e047
cmp qword [rbp + 0xc78], 0
je 0x14035dffa
inc qword [0x140541180]
mov rax, qword [0x140541168]
movabs rcx, 0x2762380131873ef0
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rax, [rdx + rax*2]
movabs rcx, 0xd89dc7fece78c111
add rcx, rax
mov qword [0x140541168], rcx
mov rax, qword [0x140541170]
mov rcx, rax
xor rcx, 1
and eax, 1
lea rax, [rcx + rax*2]
mov qword [0x140541170], rax
jmp 0x14035e03e
inc qword [0x140541180]
movabs rax, 0x606f416e752bb276
add rax, qword [0x140541150]
movabs rcx, 0x9f90be918ad44d8b
xor rcx, rax
movabs rdx, 0x1f90be918ad44d8b
and rdx, rax
lea rax, [rcx + rdx*2]
mov qword [0x140541150], rax
inc qword [0x140541158]
xor ebx, ebx
mov rsi, qword [rbp + 0xc70]
mov rax, qword [rbp + 0xc78]
test rax, rax
jne 0x14035e1d9
cmp qword [rbp + 0xc50], 0
je 0x14035e1d9
mov dword [rsp + 0x28], 0xccfe7ac1
mov dword [rsp + 0x20], 0x6be5fcbe
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x106fb88
call fcn.1403622b0
test rax, rax
je 0x14035e09c
mov rcx, qword [rbp + 0xc50]
call qword [case.0x140303ece.0]
mov r8, qword [rbp + 0xc28]
mov rdx, qword [rbp + 0xc30]
mov rax, qword [rbp + 0xc78]
or r8, rdx
test rax, rax
je 0x14035e0c2
lea rax, [0x1405410f0]
jmp 0x14035e0e0
lea rax, [0x1405410e0]
inc qword [0x1405410f8]
xor ecx, ecx
test sil, sil
sete cl
lea rax, [rax + rcx*8]
add rax, 0x40
inc qword [rax]
rdtsc
shl rdx, 0x20
or rdx, rax
sub r8, rdx
movabs rax, 0x22230fee9ae0433b
sub rax, r8
movabs rcx, 0xdddcf011651fbcc4
add rcx, r8
movabs rdx, 0xdddcf011651fbcc5
and rdx, rcx
movabs r8, 0x22230fee9ae0433a
movabs r9, 0x5ddcf011651fbcc5
xor r9, rax
and rax, r8
or rax, rdx
and rcx, r8
or rcx, r9
not rcx
lea rax, [rax + rcx*2]
cmp qword [0x1405411b0], 0
je 0x14035e156
mov rcx, qword [0x1405411b0]
cmp rcx, rax
jae 0x14035e15d
mov qword [0x1405411b0], rax
cmp qword [rbp + 0xc78], 0
je 0x14035e180
mov dword [rsp + 0x28], 0xdc87e438
mov dword [rsp + 0x20], 0xba167851
xor ecx, ecx
xor edx, edx
jmp 0x14035e203
lea eax, [rsi - 2]
xor sil, al
not sil
and sil, al
add sil, byte [0x14055de40]
setne al
xor bl, 1
cmp al, bl
je 0x14035e1bb
test sil, sil
je 0x14035e1bb
mov dword [rsp + 0x28], 0xdc87e438
mov dword [rsp + 0x20], 0xba167851
xor ecx, ecx
mov edx, 0x4750412d
jmp 0x14035e203
test sil, sil
je 0x14035e1ec
mov dword [rsp + 0x28], 0xdc87e438
mov dword [rsp + 0x20], 0xba167851
xor ecx, ecx
mov edx, 0xc0000138
jmp 0x14035e203
mov r8, qword [rbp + 0xc28]
mov rdx, qword [rbp + 0xc30]
jmp 0x14035e0b1
mov dword [rsp + 0x28], 0xdc87e438
mov dword [rsp + 0x20], 0xba167851
xor ecx, ecx
mov edx, 0xc0000139
xor r8d, r8d
mov r9d, 0x843ce728
call fcn.140362060
mov rax, qword [rbp + 0xc78]
add rsp, 0xd08
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov edx, dword [0x140541224]
lea eax, [rdx - 0x66a8a54c]
mov ecx, eax
xor ecx, 0xbc0ca5cd
and eax, 0x3c0ca5cd
lea r8d, [rcx + rax*2]
add r8d, 0xaa9bff80
mov dword [0x140541224], r8d
mov eax, dword [0x14055f1b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14035e274
mov dword [0x140541224], 0x66a8a54c
jmp 0x14035e22c
mov eax, dword [0x14055f1b4]
cmp eax, 0x23
jle 0x14035e291
nop
mov eax, dword [0x14055f1b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14035e280
mov qword [rbp + 0xc70], rsi
mov qword [rbp + 0xbd8], rdx
mov dword [rbp + 0xc1c], r8d
test edx, r8d
je 0x14035e2b2
xor edx, edx
jmp 0x14035e376
xor r13d, r13d
mov edx, 0
test r12d, r12d
jle 0x14035e376
xor esi, esi
xor edx, edx
nop word [rax + rax]
mov eax, dword [0x14055f1b0]
nop word cs:[rax + rax]
test r13b, r13b
jne 0x14035e2e0
movsxd rdi, esi
add rdi, r15
mov eax, dword [0x14055f1b0]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x14035e33a
mov dword [rsp + 0x28], 0x8045bedd
mov dword [rsp + 0x20], 0x4167e76a
xor ecx, ecx
mov rbx, rdx
xor edx, edx
mov r8d, 0x2c
xor r9d, r9d
call fcn.1403611e0
mov qword [0x14055f1a8], rax
lea rcx, [0x1403610a0]
call fcn.1403e5350
mov rdx, rbx
movzx eax, byte [rdi]
xor dl, byte [rdi]
mov eax, dword [0x14055f1b4]
nop word cs:[rax + rax]
mov eax, dword [0x14055f1b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14035e350
add esi, 0x8c74e14e
add esi, 0x738b1eb3
cmp esi, r12d
jl 0x14035e2d0
mov r15, qword [rbp + 0xc60]
test r15, r15
jne 0x14035d8ba
jmp 0x14035e03e