Function at 0x140190dbc
Capabilities:
Parse pe header

Disassembly:
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov r12, qword [rcx + 0x10]
mov r10d, 0xa8
mov r14, rcx
mov qword [rsp + 0x78], r12
xor ecx, ecx
mov r15d, r8d
mov rsi, rdx
mov dword [rbp + 0x80], ecx
mov dword [rsp + 0x50], ecx
lea r8d, [r10 - 0xf]
mov edx, ecx
mov dword [rbp + 0x98], ecx
lea edi, [rcx + 2]
lea r9d, [r10 + 7]
test rsi, rsi
je 0x140190eb9
movzx ebx, byte [rsi]
mov r13d, 1
cmp ebx, 0x6d
jbe 0x140191a50
cmp ebx, r10d
ja 0x140190e77
je 0x140191379
cmp ebx, r8d
ja 0x140190fbb
je 0x140190fa4
mov dword [rbp + 0x88], ebx
mov edi, ebx
sub ebx, 0x6e
je 0x140191efb
sub ebx, r13d
je 0x140191efb
sub ebx, 2
jne 0x140190f21
mov edi, 2
jmp 0x140190f11
cmp ebx, r9d
ja 0x140190ee6
je 0x140191916
mov edi, ebx
sub ebx, 0xa9
je 0x140191730
sub ebx, r13d
je 0x140191706
sub ebx, r13d
je 0x140191aaa
sub ebx, r13d
je 0x140191417
sub ebx, r13d
je 0x1401913b9
cmp ebx, r13d
je 0x140190e6d
xor r8d, r8d
lea edx, [r8 + 0x4a]
mov dword [rsp + 0x20], ecx
mov r9d, r15d
mov rcx, r12
call fcn.140179e44
mov eax, r15d
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
sub ebx, 0xb0
je 0x140191a48
sub ebx, r13d
je 0x140191a34
sub ebx, r13d
je 0x1401919e8
sub ebx, r13d
je 0x140191987
cmp ebx, edi
jne 0x140190eb9
mov rsi, qword [rsi + 0x10]
mov qword [rbp + 0x88], rsi
jmp 0x140190e15
sub ebx, r13d
je 0x140191b58
sub ebx, 3
je 0x140190f90
cmp ebx, 0x15
jne 0x140190eb9
mov rax, qword [r14]
cmp byte [rax + 0x67], cl
jne 0x14019185c
cmp edi, 0x8a
jne 0x140191b48
test dword [rsi + 4], 0x800
je 0x140191b48
mov rax, qword [rsi + 0x20]
mov rcx, qword [rax + 0x20]
cmp dword [rcx], r13d
je 0x140191b48
xor ebx, ebx
cmp dword [r14 + 0x30], ebx
jne 0x140191f36
mov r8d, dword [rcx]
lea rdx, [0x1404e3138]
mov rcx, r14
mov r9d, r13d
call fcn.14015f150
jmp 0x140191f36
mov r8, qword [rsi + 8]
mov edx, r15d
mov rcx, r12
call fcn.140179ec0
jmp 0x140190ecf
mov rdx, qword [rsi + 8]
xor r8d, r8d
mov r9d, r15d
mov rcx, r12
call fcn.1401906e0
jmp 0x140190ecf
sub ebx, 0x9a
je 0x140191312
sub ebx, r13d
je 0x1401912fc
sub ebx, r13d
je 0x140191289
sub ebx, r13d
je 0x140191041
cmp ebx, 0xa
jne 0x140190eb9
test byte [rsi + 4], 8
mov r8d, dword [rsi + 0x2c]
je 0x1401917f3
mov rdx, qword [rsi + 0x10]
mov r8d, r15d
mov rcx, r14
call fcn.140190dbc
mov rdx, qword [rsi + 0x40]
mov r14d, eax
xor eax, eax
test rdx, rdx
je 0x1401917a7
movsx rcx, word [rsi + 0x30]
test cx, cx
js 0x1401917a3
cmp cx, word [rdx + 0x36]
jge 0x1401917a3
mov rax, qword [rdx + 8]
lea rcx, [rcx + rcx*2]
mov dl, byte [rax + rcx*8 + 0xc]
xor eax, eax
jmp 0x1401917aa
mov rax, qword [rsi + 0x20]
mov r10, rcx
mov rbx, qword [r14]
xor r8d, r8d
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x68], rcx
movsxd rdi, dword [rax]
lea rcx, [rax + 8]
mov eax, dword [r14 + 0x44]
dec eax
mov qword [rbp - 0x80], rbx
mov dword [r14 + 0x44], eax
mov rdx, qword [rsi + 0x10]
mov qword [rbp + 0x98], rcx
mov dword [rbp + 0x88], edi
mov dword [rbp + 0x90], eax
mov qword [rsp + 0x60], rdx
test rdx, rdx
je 0x14019112e
xor r9d, r9d
mov rcx, rbx
call fcn.14018dcd4
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov rsi, rax
cmp byte [rbx + 0x67], cl
je 0x1401910c5
test rax, rax
je 0x140191f36
mov rdx, rax
mov rcx, rbx
call fcn.14018db4c
jmp 0x140191f36
lea r8, [rbp + 0x80]
mov rdx, rsi
mov rcx, r14
call fcn.140190af0
mov rcx, rsi
mov r8d, eax
call fcn.14018c9b8
mov rdx, rax
test rax, rax
je 0x1401910fb
mov al, byte [rax]
btr dword [rdx + 4], 0xc
mov byte [rdx + 2], al
mov byte [rdx], 0xb0
mov dword [rdx + 0x2c], r8d
xor edx, edx
lea rcx, [rbp - 0x70]
lea r8d, [rdx + 0x48]
call fcn.140408b90
mov rdx, qword [rsp + 0x60]
lea r10, [rbp - 0x70]
mov rcx, qword [rbp + 0x98]
xor r8d, r8d
mov dword [rbp + 0x80], r8d
mov byte [rbp - 0x70], 0x35
mov qword [rbp - 0x60], rsi
jmp 0x140191131
mov rsi, r8
lea rax, [rdi - 1]
or rdi, 0xffffffffffffffff
mov qword [rsp + 0x70], rax
test rax, rax
jle 0x1401911fe
dec rax
shr rax, 1
add rax, r13
mov rsi, rax
mov rcx, qword [rcx]
test rdx, rdx
mov rax, qword [rbp - 0x58]
mov r9d, 0x10
cmove r10, rcx
cmovne rax, rcx
add dword [r14 + 0x44], edi
mov rdx, r10
mov ebx, dword [r14 + 0x44]
mov rcx, r14
mov r8d, ebx
mov qword [rbp - 0x58], rax
mov qword [rsp + 0x58], r10
call fcn.140192934
mov rdx, qword [rbp + 0x98]
mov r8d, r15d
mov rcx, r14
mov rdx, qword [rdx + 0x20]
call fcn.1401921ac
mov r9d, dword [rbp + 0x90]
xor eax, eax
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r12
lea edx, [rax + 0xb]
call fcn.140179e44
mov edx, ebx
mov rcx, r12
call fcn.14017a398
mov rcx, qword [rbp + 0x98]
mov r8d, 0
mov rdx, qword [rsp + 0x60]
add rcx, 0x40
mov r10, qword [rsp + 0x58]
mov qword [rbp + 0x98], rcx
sub rsi, r13
jne 0x140191153
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x80]
test byte [rbp + 0x88], r13b
je 0x140191222
mov rdx, qword [rsp + 0x78]
mov r8d, r15d
shl rax, 5
mov rcx, r14
mov rdx, qword [rax + rdx + 8]
call fcn.1401921ac
jmp 0x140191239
mov dword [rsp + 0x20], r8d
mov r9d, r15d
xor r8d, r8d
mov rcx, r12
lea edx, [r8 + 0x4a]
call fcn.140179e44
test rsi, rsi
je 0x140191249
mov rdx, rsi
mov rcx, rbx
call fcn.14018db4c
mov edx, edi
mov rcx, r12
call fcn.14017a998
cmp byte [rax], 0x4f
jne 0x140191276
movsxd rax, dword [r12 + 0x98]
test eax, eax
jle 0x140191276
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x90]
mov word [rax + rcx*8 - 0x16], r13w
mov edx, dword [rbp + 0x90]
mov rcx, r12
call fcn.14017a398
jmp 0x140191f36
movsx r8d, word [rsi + 0x30]
mov r9d, r15d
mov dword [rsp + 0x20], ecx
mov edx, 0x4d
mov rcx, r12
call fcn.140179e44
mov rax, qword [rsi + 8]
xor r8d, r8d
cmp byte [rax + 1], r8b
je 0x140190ecf
mov rdx, qword [r14 + 0x138]
test rdx, rdx
jne 0x1401912c4
mov rax, r8
jmp 0x1401912e5
movsx ecx, word [rsi + 0x30]
movsxd rax, edi
cmp dword [rdx + rax*4], ecx
je 0x1401912db
add edi, dword [rdx + rax*4 + 4]
cmp edi, dword [rdx + 4]
jl 0x1401912c8
jmp 0x1401912bf
lea eax, [rdi + 2]
movsxd rcx, eax
lea rax, [rdx + rcx*4]
mov dword [rdx], r8d
mov rcx, r12
or r8, 0xffffffffffffffff
mov rdx, rax
call fcn.14017a934
jmp 0x140190ecf
xor r8d, r8d
mov rdx, rsi
mov r9d, r15d
mov rcx, r14
call fcn.140190774
jmp 0x140190ecf
mov rdx, qword [rsi + 8]
add rdx, rdi
jne 0x14019131f
mov edi, ecx
jmp 0x140191331
or rdi, 0xffffffffffffffff
inc rdi
cmp byte [rdx + rdi], cl
jne 0x140191323
and edi, 0x3fffffff
mov rcx, qword [r12]
lea ebx, [rdi - 1]
mov r8d, ebx
call fcn.14015ff64
mov rdi, rax
mov r9d, r15d
mov eax, ebx
mov rcx, r12
cdq
sub eax, edx
sar eax, 1
mov r8d, eax
xor eax, eax
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x4c]
call fcn.140179e44
mov r9d, 0xfffffff9
mov r8, rdi
mov edx, eax
mov rcx, r12
call fcn.14017a8ac
jmp 0x140190ecf
mov rdx, qword [rsi + 0x38]
test rdx, rdx
je 0x1401913a2
movsx rcx, word [rsi + 0x32]
test cx, cx
js 0x1401913a2
cmp ecx, dword [rdx + 0x38]
jge 0x1401913a2
mov rax, qword [rdx + 0x30]
shl rcx, 5
mov eax, dword [rcx + rax + 0x10]
jmp 0x140190ed2
lea rdx, [0x1404e3240]
mov r8, rsi
mov rcx, r14
call fcn.14015f150
jmp 0x140191f36
mov rdx, qword [rsi + 0x10]
cmp byte [rdx], 0x9b
jne 0x1401913ca
mov r8d, r13d
jmp 0x140191302
cmp byte [rdx], r8b
jne 0x1401913db
mov rdx, qword [rdx + 8]
mov r8d, r13d
jmp 0x140190fab
lea r8, [rbp + 0x80]
mov byte [rbp - 0x20], 0x9b
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x1c], 0x4400
mov rcx, r14
call fcn.1401920e0
mov rdx, qword [rsi + 0x10]
lea r8, [rsp + 0x50]
mov rcx, r14
mov ebx, eax
call fcn.1401920e0
mov edx, 0x6b
jmp 0x140191f23
xor edi, edi
mov dword [rbp + 0x98], ecx
test dword [rsi + 4], 0x1000000
mov rcx, qword [r14]
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], rdi
mov bl, byte [rcx + 0x64]
je 0x140191444
mov rax, qword [rsi + 0x40]
mov eax, dword [rax + 0x60]
jmp 0x140190ed2
cmp byte [r14 + 0x23], dil
je 0x140191476
xor r8d, r8d
mov rcx, rsi
lea edx, [r8 + 2]
call fcn.14018ecc4
test eax, eax
je 0x140191471
or r8, 0xffffffffffffffff
mov rdx, rsi
mov rcx, r14
call fcn.140191f88
jmp 0x140190ed2
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsi + 0x20]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140191486
mov edi, dword [rax]
mov rdx, qword [rsi + 8]
xor eax, eax
mov r9b, bl
mov byte [rsp + 0x20], al
mov r8d, edi
mov dword [rsp + 0x70], edi
call fcn.1401a10f8
xor r8d, r8d
mov rbx, rax
test rax, rax
je 0x1401916fa
cmp qword [rax + 0x20], r8
jne 0x1401916fa
test dword [rax + 4], 0x400000
je 0x1401914da
mov r8d, dword [rax + 8]
mov r9d, r15d
mov rdx, qword [rsp + 0x58]
mov rcx, r14
call fcn.140190b90
jmp 0x140190ed2
test dword [rax + 4], 0x280000
je 0x140191513
test dword [rsi + 4], 0x40000000
je 0x140191513
test dword [rax + 4], 0x80000
jne 0x1401914fe
mov rax, qword [r14]
test byte [rax + 0x30], 0x80
jne 0x140191513
mov r8, rsi
lea rdx, [0x1404e3040]
mov rcx, r14
call fcn.14015f150
xor r8d, r8d
movsxd rdx, edi
mov ecx, r8d
mov dword [rbp + 0x80], ecx
mov qword [rsp + 0x50], rdx
test edi, edi
jle 0x1401915c8
mov r12, qword [rsp + 0x58]
mov r15d, dword [rbp + 0x98]
add r12, 8
mov edi, r15d
cmp ecx, 0x20
jge 0x140191566
mov rcx, qword [r12]
xor r8d, r8d
mov edx, r13d
call fcn.14018ecc4
mov ecx, dword [rbp + 0x80]
mov rdx, qword [rsp + 0x50]
test eax, eax
je 0x140191566
bts r15d, ecx
test byte [rbx + 4], 0x20
je 0x14019158b
test rdi, rdi
jne 0x14019158b
mov rdx, qword [r12]
mov rcx, r14
call fcn.14018c9e4
mov ecx, dword [rbp + 0x80]
mov rdi, rax
mov rdx, qword [rsp + 0x50]
add ecx, r13d
add r12, 0x20
sub rdx, r13
mov dword [rbp + 0x80], ecx
mov qword [rsp + 0x50], rdx
jne 0x14019153f
mov rsi, qword [rbp + 0x88]
xor r8d, r8d
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x60], rdi
mov edi, dword [rsp + 0x70]
mov dword [rbp + 0x98], r15d
mov r15d, dword [rbp + 0x90]
mov rcx, qword [rsp + 0x58]
test rcx, rcx
je 0x140191637
cmp dword [rbp + 0x98], r8d
je 0x1401915eb
mov eax, dword [r14 + 0x38]
lea r13d, [rax + 1]
add eax, edi
mov dword [r14 + 0x38], eax
jmp 0x1401915fd
mov edx, edi
mov rcx, r14
call fcn.140193c44
mov rcx, qword [rsp + 0x58]
mov r13d, eax
test byte [rbx + 4], 0xc0
je 0x140191617
mov rdx, qword [rcx + 8]
mov al, byte [rdx]
add al, 0x59
test al, 0xfd
jne 0x140191617
mov al, byte [rbx + 4]
and al, 0xc0
mov byte [rdx + 2], al
mov rdx, rcx
mov byte [rsp + 0x20], 3
mov rcx, r14
xor r9d, r9d
mov r8d, r13d
call fcn.1401922e0
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
jmp 0x14019163a
mov r13d, r8d
cmp edi, 2
jl 0x14019164b
test byte [rsi + 4], 0x80
je 0x14019164f
mov r9, qword [rcx + 0x28]
jmp 0x140191653
test edi, edi
jle 0x140191669
mov r9, qword [rcx + 8]
mov rcx, qword [rsp + 0x68]
mov r8d, edi
mov rdx, rbx
call fcn.1401c15cc
xor r8d, r8d
mov rbx, rax
test byte [rbx + 4], 0x20
je 0x1401916b0
cmp qword [rsp + 0x60], r8
jne 0x140191684
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x60], rax
xor r9d, r9d
mov dword [rsp + 0x20], r8d
xor r8d, r8d
mov rcx, r12
lea edx, [r9 + 0x54]
call fcn.140179e44
mov r8, qword [rsp + 0x60]
mov r9d, 0xfffffffe
mov edx, eax
mov rcx, r12
call fcn.14017a8ac
movzx eax, byte [rsi + 2]
mov r9d, r15d
mov dword [rsp + 0x30], eax
mov r8d, r13d
mov qword [rsp + 0x28], rbx
mov rcx, r14
mov ebx, dword [rbp + 0x98]
mov edx, ebx
mov dword [rsp + 0x20], edi
call fcn.140179fe4
test edi, edi
je 0x140190ecf
test ebx, ebx
jne 0x140190ecf
mov r8d, edi
mov edx, r13d
mov rcx, r14
call fcn.140193c98
jmp 0x140190ecf
lea rdx, [0x1404e3260]
jmp 0x1401913a9
test dword [rsi + 4], 0x1000
je 0x140191718
mov rsi, qword [rsi + 0x10]
test rsi, rsi
jne 0x140191706
mov rax, qword [rsi + 8]
mov r8d, ecx
mov edx, 0x47
cmp byte [rax + 4], cl
sete r8b
jmp 0x140190ec0
mov r8, qword [rsi + 0x38]
movsx rbx, word [rsi + 0x32]
shl rbx, 5
add rbx, qword [r8 + 0x20]
cmp byte [r8], cl
jne 0x14019174e
mov eax, dword [rbx + 0x14]
jmp 0x140190ed2
cmp byte [r8 + 1], cl
je 0x140190fe7
movsx r9d, word [rbx + 0x1a]
mov edx, 0x5d
mov r8d, dword [r8 + 8]
mov rcx, r12
mov rdi, qword [rbx]
mov dword [rsp + 0x20], r15d
call fcn.140179e44
xor edx, edx
cmp word [rbx + 0x18], dx
jl 0x140190ecf
movsx rax, word [rbx + 0x18]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
cmp byte [rax + rcx*8 + 0xc], 0x45
jne 0x140190ecf
mov dword [rsp + 0x20], edx
jmp 0x1401918b0
mov dl, 0x44
jmp 0x1401917aa
mov dl, byte [rsi + 1]
movsx ebx, dl
cmp ebx, 0x41
jle 0x1401917eb
mov r9d, r13d
mov dword [rsp + 0x20], eax
mov r8d, r14d
mov edx, 0x5f
mov rcx, r12
call fcn.140179e44
mov edx, eax
or r9, 0xffffffffffffffff
lea eax, [rbx*2 - 0x84]
mov rcx, r12
movsxd r8, eax
lea rax, [0x1404d3608]
add r8, rax
call fcn.14017a8ac
mov eax, r14d
jmp 0x140190ed2
test r8d, r8d
jns 0x1401918c3
mov edi, dword [r14 + 0x40]
test edi, edi
jns 0x1401918bf
movsx rdx, word [rsi + 0x30]
mov r13, qword [rsi + 0x40]
test dx, dx
jns 0x14019181f
not edi
mov eax, edi
jmp 0x140190ed2
mov rax, qword [r13 + 8]
lea rcx, [rdx + rdx*2]
lea rbx, [rax + rcx*8]
mov rcx, r13
call fcn.14019aab8
movsx esi, ax
movzx eax, word [rbx + 0x12]
sub esi, edi
test al, 0x60
je 0x14019188f
mov ecx, 0x100
test cx, ax
je 0x140191863
mov r8, qword [rbx]
lea rdx, [0x1404e3200]
mov rcx, r14
call fcn.14015f150
xor eax, eax
jmp 0x140190ed2
or ax, cx
mov word [rbx + 0x12], ax
test al, al
jns 0x14019187f
mov r9d, esi
mov r8, rbx
mov rdx, r13
mov rcx, r14
call fcn.1401908a0
mov eax, 0xfe7f
and word [rbx + 0x12], ax
mov eax, esi
jmp 0x140190ed2
cmp byte [rbx + 0xc], 0x45
jne 0x140191888
xor ebx, ebx
mov r9d, r15d
mov r8d, esi
mov dword [rsp + 0x20], ebx
mov rcx, r12
lea edx, [rbx + 0x50]
call fcn.140179e44
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8d, r15d
lea edx, [r9 + 0x56]
jmp 0x140190ec7
lea r8d, [rdi - 1]
movsx r9d, word [rsi + 0x30]
mov rdx, qword [rsi + 0x40]
mov rcx, qword [r14 + 0x10]
movzx ebx, byte [rsi + 2]
mov dword [rsp + 0x20], r15d
call fcn.14019096c
xor r10d, r10d
test bl, bl
je 0x1401918fb
mov rcx, qword [r14 + 0x10]
or rdx, 0xffffffffffffffff
call fcn.14017a998
cmp byte [rax], 0x5d
jne 0x1401918fb
mov word [rax + 2], bx
cmp qword [rsi + 0x40], r10
jne 0x140190ecf
cmp byte [rsi + 1], 0x45
jne 0x140190ecf
mov dword [rsp + 0x20], r10d
jmp 0x1401918b0
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x80]
mov rcx, r14
call fcn.1401920e0
mov r8d, eax
xor r9d, r9d
mov rax, qword [rsi + 0x18]
jmp 0x140191942
test dword [rax + 4], 0x1000
je 0x140191947
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140191935
mov rax, qword [rax + 8]
mov edx, r9d
cmp byte [rsi + 2], 0x2d
sete dl
mov cl, byte [rax + 4]
mov eax, r9d
test cl, cl
sete al
xor edx, eax
mov eax, r9d
test cl, cl
mov dword [rsp + 0x28], edx
mov r9d, r15d
mov edx, 0x5a
setne al
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.14017a2b4
jmp 0x140191f36
mov r8d, dword [rsi + 0x2c]
xor r9d, r9d
mov dil, byte [r14 + 0x23]
mov dword [rsp + 0x20], ecx
mov rcx, r12
lea edx, [r9 + 0x16]
call fcn.140179e44
mov ebx, eax
mov r8d, r15d
xor eax, eax
mov rcx, r14
mov byte [r14 + 0x23], al
mov rdx, qword [rsi + 0x10]
call fcn.140190dbc
mov edx, ebx
mov byte [r14 + 0x23], dil
mov rcx, r12
mov r15d, eax
call fcn.14017a998
mov ecx, dword [r12 + 0x98]
mov edx, ebx
mov dword [rax + 8], ecx
mov rcx, r12
call fcn.14017a998
mov dword [rax + 0xc], r15d
jmp 0x140191f36
mov rdx, qword [rsi + 0x10]
cmp dword [rdx + 0x2c], ecx
jne 0x140191a00
mov rcx, r14
call fcn.14018fc28
mov rcx, qword [rsi + 0x10]
mov dword [rcx + 0x2c], eax
mov rcx, qword [rsi + 0x10]
call fcn.14018cd74
mov r8d, dword [rsi + 0x2c]
cmp r8d, eax
je 0x140191a24
mov r9d, eax
lea rdx, [0x1404e30a0]
mov rcx, r14
call fcn.14015f150
mov rcx, qword [rsi + 0x10]
movsx eax, word [rsi + 0x30]
add eax, dword [rcx + 0x2c]
jmp 0x140190ed2
lea rdx, [0x1404e2bc0]
mov rcx, r14
call fcn.14015f150
jmp 0x140191f36
mov eax, dword [rsi + 0x2c]
jmp 0x140190ed2
mov edi, ebx
je 0x140191efb
cmp ebx, 0x36
ja 0x140191cb4
je 0x140191abf
cmp ebx, 0x30
ja 0x140191b95
je 0x140191b7b
mov dword [rbp + 0x88], ebx
sub ebx, 0x13
je 0x140191b58
sub ebx, r13d
je 0x140190f34
sub ebx, 0x10
je 0x140191aee
sub ebx, 7
je 0x140191efb
sub ebx, r13d
je 0x140191efb
cmp ebx, r13d
jne 0x140190eb9
sub edi, 0x2d
mov edx, 0x80
neg edi
mov dword [rbp + 0x98], edx
sbb edi, edi
add edi, 0x35
mov rbx, qword [rsi + 0x10]
mov rcx, rbx
call fcn.14018cd74
mov rcx, r14
cmp eax, r13d
jle 0x140191e18
mov byte [rsp + 0x20], dl
mov r9b, dil
mov rdx, rsi
mov r8d, r15d
call fcn.14018cf0c
jmp 0x140191f36
mov rdx, qword [rsi + 0x10]
mov r8d, r15d
mov rcx, r14
call fcn.140190dbc
mov ebx, eax
cmp eax, r15d
je 0x140191b1e
xor eax, eax
mov r9d, r15d
mov r8d, ebx
mov dword [rsp + 0x20], eax
mov rcx, r12
lea edx, [rax + 0x50]
call fcn.140179e44
mov ebx, r15d
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.14019b5dc
movsx r9d, al
mov r8d, r15d
xor eax, eax
mov rcx, r12
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x57]
call fcn.140179e44
mov eax, ebx
jmp 0x140190ed2
mov rdx, rsi
mov rcx, r14
call fcn.14018fc28
jmp 0x140190ed2
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x80]
mov rcx, r14
call fcn.1401920e0
xor ebx, ebx
mov r9d, r15d
mov dword [rsp + 0x20], ebx
mov edx, edi
jmp 0x140191f2b
mov dword [rsp + 0x20], ecx
xor r9d, r9d
mov rcx, r14
mov r8d, r15d
mov rdx, rsi
call fcn.140192468
jmp 0x140190ecf
mov ecx, ebx
mov dword [rbp + 0x88], ebx
sub ecx, 0x31
je 0x140191c3a
sub ecx, r13d
je 0x140191bc9
sub ecx, r13d
je 0x140191bc9
sub ecx, r13d
je 0x140191abf
cmp ecx, r13d
je 0x140191abf
xor ecx, ecx
jmp 0x140190eb9
xor edi, edi
mov r9d, r15d
mov r8d, r13d
mov dword [rsp + 0x20], edi
mov rcx, r12
lea edx, [rdi + 0x47]
call fcn.140179e44
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x80]
mov rcx, r14
call fcn.1401920e0
xor r9d, r9d
mov dword [rsp + 0x20], edi
mov r8d, eax
mov edx, ebx
mov rcx, r12
call fcn.140179e44
mov ebx, eax
lea edx, [rdi + 0x47]
xor eax, eax
mov r9d, r15d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.140179e44
mov edx, ebx
mov rcx, r12
call fcn.14017a998
mov ecx, dword [r12 + 0x98]
mov dword [rax + 8], ecx
jmp 0x140191f36
mov ebx, dword [r14 + 0x44]
xor eax, eax
mov r9d, r15d
mov dword [rsp + 0x20], eax
xor r8d, r8d
mov rcx, r12
lea edi, [rbx - 2]
lea edx, [rax + 0x4a]
mov dword [r14 + 0x44], edi
call fcn.140179e44
mov r9d, edi
lea r8d, [rbx - 1]
mov rdx, rsi
mov rcx, r14
call fcn.14018ffb0
xor esi, esi
mov r9d, r15d
mov r8d, r13d
mov dword [rsp + 0x20], esi
mov rcx, r12
lea edx, [rsi + 0x47]
call fcn.140179e44
lea edx, [rbx - 1]
mov rcx, r12
call fcn.14017a398
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r15d
lea edx, [rsi + 0x55]
mov rcx, r12
call fcn.140179e44
mov edx, edi
mov rcx, r12
call fcn.14017a398
jmp 0x140190ecf
cmp ebx, 0x67
ja 0x140191ede
je 0x140191efb
mov dword [rbp + 0x88], ebx
sub ebx, 0x37
je 0x140191abf
sub ebx, r13d
je 0x140191abf
sub ebx, r13d
je 0x140191abf
sub ebx, 0xe
je 0x140191d6e
sub ebx, 6
je 0x140191d00
cmp ebx, 0x19
je 0x140191efb
jmp 0x140190eb9
mov rbx, qword [rsi + 0x40]
movsx rdi, word [rsi + 0x30]
mov rcx, rbx
movzx edx, di
call fcn.14019aab8
movsx r8d, word [rbx + 0x36]
mov r9d, r15d
movsx ecx, ax
add r8d, r13d
imul r8d, dword [rsi + 0x2c]
inc ecx
xor eax, eax
mov edx, 0x9c
mov dword [rsp + 0x20], eax
add r8d, ecx
mov rcx, r12
call fcn.140179e44
test di, di
js 0x140191f36
mov rax, qword [rbx + 8]
lea rcx, [rdi + rdi*2]
cmp byte [rax + rcx*8 + 0xc], 0x45
jne 0x140191f36
xor eax, eax
mov r8d, r15d
xor r9d, r9d
mov rcx, r12
lea edx, [rax + 0x56]
jmp 0x140191ed8
cmp qword [r14 + 0xa8], rcx
jne 0x140191d91
cmp byte [r14 + 0x1e], cl
jne 0x140191d91
lea rdx, [0x1404e3278]
mov rcx, r14
call fcn.14015f150
jmp 0x14019185c
cmp byte [rsi + 1], 2
jne 0x140191dae
mov rax, qword [r14 + 0xa0]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], r13b
xor ecx, ecx
mov rbx, qword [rsi + 8]
mov r9d, 4
cmp byte [rsi + 1], r9b
jne 0x140191de6
mov dword [rsp + 0x20], ecx
lea edx, [r9 + 0x42]
mov rcx, r12
xor r8d, r8d
call fcn.140179e44
xor r9d, r9d
mov r8, rbx
mov edx, eax
mov rcx, r12
call fcn.14017a8ac
jmp 0x140191f36
mov rax, qword [r14 + 0xa8]
mov r9, rbx
movsx r8d, byte [rsi + 1]
neg rax
mov byte [rsp + 0x28], cl
sbb edx, edx
mov byte [rsp + 0x20], cl
and edx, 0x712
mov rcx, r14
add edx, r13d
call fcn.1401a0304
jmp 0x140191f36
lea r8, [rbp + 0x80]
mov rdx, rbx
call fcn.1401920e0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, r14
mov dword [rbp + 0x88], eax
call fcn.1401920e0
mov dword [rbp + 0x90], eax
mov r9d, r15d
xor eax, eax
mov r8d, r13d
mov rcx, r12
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x47]
call fcn.140179e44
mov r8d, dword [rsi + 4]
mov r9d, edi
mov ecx, dword [r12 + 0x98]
mov rdx, rbx
mov eax, dword [rbp + 0x98]
add ecx, 2
shr r8d, 9
and r8d, r13d
mov dword [rsp + 0x40], r8d
mov r8, qword [rsi + 0x18]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x90]
mov dword [rsp + 0x30], ecx
mov rcx, r14
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x88]
mov dword [rsp + 0x20], eax
call fcn.14018cc8c
cmp dword [rbp + 0x98], 0x80
mov r9d, r15d
mov rcx, r12
jne 0x140191ec6
xor eax, eax
xor r8d, r8d
lea edx, [rax + 0x47]
jmp 0x140191ed8
mov eax, dword [rbp + 0x90]
mov edx, 0x5b
mov r8d, dword [rbp + 0x88]
mov dword [rsp + 0x20], eax
jmp 0x140191f31
sub ebx, 0x68
je 0x140191efb
sub ebx, r13d
je 0x140191efb
sub ebx, r13d
je 0x140191efb
sub ebx, r13d
je 0x140191efb
cmp ebx, r13d
jne 0x140190eb9
mov rdx, qword [rsi + 0x10]
lea r8, [rbp + 0x80]
mov rcx, r14
call fcn.1401920e0
mov rdx, qword [rsi + 0x18]
lea r8, [rsp + 0x50]
mov rcx, r14
mov ebx, eax
call fcn.1401920e0
mov edx, edi
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov r8d, eax
mov rcx, r12
call fcn.140179e44
mov ecx, dword [rbp + 0x80]
test ecx, ecx
je 0x140191f58
cmp byte [r14 + 0x1f], 8
jae 0x140191f58
movzx eax, byte [r14 + 0x1f]
mov dword [r14 + rax*4 + 0xd8], ecx
add byte [r14 + 0x1f], r13b
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x140190ecf
cmp byte [r14 + 0x1f], 8
jae 0x140190ecf
movzx eax, byte [r14 + 0x1f]
mov dword [r14 + rax*4 + 0xd8], ecx
add byte [r14 + 0x1f], r13b
jmp 0x140190ecf