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

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2f8
mov r13, qword [rcx]
mov r12, qword [rcx + 0x88]
mov r14, qword [rcx + 0x68]
mov dl, byte [r13 + 0x5e]
xor r10d, r10d
mov r11, rcx
lea eax, [r10 + 7]
mov qword [rsp + 0x38], r12
mov rsi, r12
mov byte [rsp + 0x348], dl
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x350], r10b
mov r9d, r10d
mov dword [rsp + 0x358], r10d
mov r8d, r10d
mov dword [rsp + 0x88], r10d
mov qword [rsp + 0x48], r14
lea r15d, [r10 + 1]
cmp dword [rcx + 0x38], eax
je 0x14003756f
mov qword [rcx + 0x48], r10
mov qword [rcx + 0xa0], r10
mov eax, dword [r13 + 0x160]
mov dword [r13 + 0x228], r10d
cmp eax, r10d
jne 0x14003a225
movsxd rax, dword [rcx + 0x34]
lea ebx, [r10 + 4]
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
lea rcx, [0x140000000]
movzx ebp, byte [rsi]
add r8d, r15d
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x88], r8d
cmp ebp, 0xa8
ja case.default.0x140035ba8
mov ecx, dword [rcx + rbp*4 + 0x3bbb4]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd r8, dword [rsi + 4]
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
imul r8, r8, 0x38
imul rcx
mov word [r8 + r14 + 8], bx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov qword [r8 + r14], rax
jmp 0x14003b66e
movsxd rdx, dword [rsi + 4]
imul rdx, rdx, 0x38
add rdx, r14
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + 8], ax
lea rsi, [r12 + rcx*8]
mov dl, byte [rsp + 0x348]
jmp case.0x140035ba8.86
mov eax, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
sub eax, r15d
cdqe
imul rcx, rcx, 0x38
mov qword [rcx + r14], rax
mov word [rcx + r14 + 8], bx
cmp dword [rsi + 8], r10d
jne 0x14003b66e
jmp case.0x140035ba8.86
movsxd rdx, dword [rsi + 4]
imul rdx, rdx, 0x38
add rdx, r14
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + rcx*8 + 8]
sub eax, r15d
cdqe
jmp 0x140035bf3
movsxd r8, dword [rsi + 4]
sub rsi, r12
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
imul r8, r8, 0x38
movsxd rcx, dword [r8 + r14]
add rdx, rax
mov word [r8 + r14 + 8], bx
movsxd rax, edx
lea rcx, [rcx + rcx*2]
mov qword [r8 + r14], rax
jmp 0x140035c00
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je case.0x140035ba8.86
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rsi + 4], r10d
jne 0x14003b6a3
mov rcx, qword [r11 + 0x100]
cmp rcx, r10
je 0x14003b6a3
mov rax, qword [rcx + 8]
dec dword [r11 + 0x110]
mov qword [r11 + 0x100], rax
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x78], eax
mov dword [r13 + 0x74], eax
call fcn.1400318cc
mov r11, qword [rsp + 0x340]
mov ebx, 4
cmp dword [rsi + 8], ebx
jne 0x140035d31
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r15d
mov r12, qword [r11 + 0x88]
mov r14, qword [r11 + 0x68]
cdqe
lea rcx, [rax + rax*2]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r14
lea rsi, [r12 + rcx*8]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp case.0x140035ba8.86
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov r11, rax
movsxd rax, dword [rsi + 4]
mov qword [r11], rax
mov r11, qword [rsp + 0x340]
jmp 0x140035d50
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov r11, rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [r11], rcx
jmp 0x140035d7c
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov r11, rax
mov eax, 8
mov word [r11 + 8], ax
jmp 0x140035d94
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov rdx, qword [rsi + 0x10]
mov rcx, rdx
mov rbx, rax
call fcn.140016f44
mov bpl, byte [rsp + 0x348]
mov dword [rsi + 4], eax
cmp bpl, r15b
je 0x140035e73
xor eax, eax
mov r9b, r15b
or r8d, 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14002f6f4
xor r15d, r15d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r15d
jne 0x14003b0b5
lea eax, [r15 + 2]
movzx ecx, bpl
test byte [rbx + 8], al
je 0x140035e31
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x140035e31
mov dl, cl
mov rcx, rbx
call fcn.140016968
jmp 0x140035e34
mov eax, r15d
cmp eax, r15d
jne 0x14003756f
mov eax, 0x800
mov dword [rbx + 0x20], r15d
or word [rbx + 8], ax
cmp byte [rsi + 1], 0xf9
jne 0x140035e61
mov rdx, qword [rsi + 0x10]
cmp rdx, r15
je 0x140035e61
mov rcx, r13
call fcn.140014878
mov byte [rsi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rsi + 4], eax
mov eax, dword [r13 + 0x7c]
mov r11, qword [rsp + 0x340]
cmp dword [rsi + 4], eax
jg 0x14003b0bd
mov byte [rsi], Ordinal_73
mov ebx, 4
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov dl, byte [rsp + 0x348]
mov r11, rax
mov eax, 0xa02
mov word [r11 + 8], ax
mov rax, qword [rsi + 0x10]
mov qword [r11 + 0x10], rax
mov eax, dword [rsi + 4]
mov byte [r11 + 0xa], dl
mov dword [r11 + 0xc], eax
mov r11, qword [rsp + 0x340]
jmp 0x140035d57
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov ebp, dword [rsi + 0xc]
sub ebp, dword [rsi + 8]
mov rbx, rax
mov eax, dword [rsi + 4]
neg eax
mov eax, 0x100
sbb r12w, r12w
and r12w, ax
add r12w, r15w
xor r10d, r10d
jmp 0x140035f10
add rbx, 0x38
mov rcx, rbx
call fcn.14002f3f8
xor r10d, r10d
sub ebp, r15d
cmp ebp, r10d
mov dword [rbx + 0xc], r10d
mov word [rbx + 8], r12w
jg 0x140035efe
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov ebx, 4
lea rcx, [0x140000000]
mov r8d, dword [rsp + 0x88]
add rsi, 0x18
mov r15d, 1
jmp 0x140035b75
movsxd rax, dword [rsi + 4]
mov ecx, 0xff41
imul rax, rax, 0x38
add rax, r14
and word [rax + 8], cx
or word [rax + 8], r15w
jmp case.0x140035ba8.86
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov r8d, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
mov rbx, rax
xor eax, eax
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.14002f6f4
mov dl, byte [rsp + 0x348]
mov byte [rbx + 0xa], dl
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp 0x140035f3a
mov eax, dword [rsi + 4]
sub eax, r15d
movsxd rbp, eax
imul rbp, rbp, 0x38
add rbp, qword [r11 + 0x80]
test byte [rbp + 8], 0x12
je 0x140035ffc
mov ecx, dword [rbp + 0xc]
mov eax, 0x4000
test word [rbp + 8], ax
je 0x140035fed
add ecx, dword [rbp]
mov rax, qword [rbp + 0x28]
mov edx, r10d
cmp ecx, dword [rax + 0x7c]
setg dl
jmp 0x140035fff
mov edx, r10d
cmp edx, r10d
jne 0x14003b0bd
movsxd rbx, dword [rsi + 8]
mov eax, 0x2400
imul rbx, rbx, 0x38
add rbx, r14
test word [rbx + 8], ax
je 0x140036039
mov rcx, rbx
call fcn.14002f3f8
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
mov rax, qword [rbp]
mov ecx, 0xebff
mov qword [rbx], rax
mov rax, qword [rbp + 8]
mov qword [rbx + 8], rax
mov rax, qword [rbp + 0x10]
mov qword [rbx + 0x10], rax
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov dl, byte [rsp + 0x348]
jmp 0x140035f3a
movsxd rbp, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
mov r12d, dword [rsi + 0xc]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
add rbp, r14
add rbx, r14
mov rdx, rbp
mov rcx, rbx
call fcn.14002f6a0
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1400360ba
mov rcx, rbx
call fcn.14002ed88
xor r10d, r10d
cmp eax, r10d
jne 0x14003756f
jmp 0x1400360bd
xor r10d, r10d
add rbp, 0x38
add rbx, 0x38
sub r12d, r15d
jne 0x14003608e
jmp 0x140035f1e
movsxd rbp, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
mov r12d, dword [rsi + 0xc]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
add rbp, r14
add rbx, r14
mov r8d, 0x1000
mov rdx, rbp
mov rcx, rbx
call fcn.14002f5cc
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14003611b
mov rcx, rbx
call fcn.14002ed88
xor r10d, r10d
cmp eax, r10d
jne 0x14003756f
jmp 0x14003611e
xor r10d, r10d
mov eax, r12d
sub r12d, r15d
cmp eax, r10d
je 0x140035f1e
add rbx, 0x38
add rbp, 0x38
jmp 0x1400360e9
movsxd rdx, dword [rsi + 4]
movsxd rcx, dword [rsi + 8]
mov r8d, 0x1000
imul rdx, rdx, 0x38
imul rcx, rcx, 0x38
add rdx, r14
add rcx, r14
call fcn.14002f5cc
jmp 0x140035d7c
movsxd rax, dword [rsi + 4]
movsxd rcx, dword [rsi + 8]
imul rax, rax, 0x38
imul rcx, rcx, 0x38
add rcx, r14
mov rdx, qword [rax + r14]
mov eax, 0x2400
test word [rcx + 8], ax
je 0x140036189
call fcn.14002f474
jmp 0x140035d7c
mov qword [rcx], rdx
mov word [rcx + 8], bx
jmp 0x140035c04
movsxd r13, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
movsxd rbp, dword [rsi + 0xc]
imul r13, r13, 0x38
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
add r13, r14
add rbp, r14
movzx r14d, word [r13 + 8]
mov al, byte [rbx + 8]
or al, r14b
test r15b, al
je 0x1400361e4
mov rcx, rbp
call fcn.14002f3f8
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
mov dl, byte [rsp + 0x348]
jmp 0x140035faa
test r14b, 0x12
jne 0x14003621d
xor r8d, r8d
mov rcx, r13
call fcn.14002ee40
xor r15d, r15d
cmp eax, r15d
jne 0x14003756a
mov r14w, word [r13 + 8]
mov dl, byte [rsp + 0x348]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
jmp 0x140036235
mov eax, 0x4000
test ax, r14w
je 0x140036232
mov rcx, r13
call fcn.14002ede4
jmp 0x1400361f5
xor r15d, r15d
movzx r12d, word [rbx + 8]
test r12b, 0x12
jne 0x14003624d
xor r8d, r8d
mov rcx, rbx
call fcn.14002ee40
jmp 0x14003625b
test ax, r12w
je 0x140036272
mov rcx, rbx
call fcn.14002ede4
cmp eax, r15d
jne 0x14003756a
mov r12w, word [rbx + 8]
mov eax, 0xfffd
and r12w, ax
mov eax, dword [r13 + 0xc]
mov r8, qword [rsp + 0x40]
add eax, dword [rbx + 0xc]
movsxd r15, eax
movsxd rax, dword [r8 + 0x7c]
cmp r15, rax
jg 0x14003b0b5
xor eax, eax
cmp rbp, rbx
lea edx, [r15 + 3]
mov r8d, eax
sete r8b
mov rcx, rbp
call fcn.14002ec0c
xor r11d, r11d
cmp eax, r11d
jne 0x14003756a
mov eax, 0x3e40
and word [rbp + 8], ax
lea eax, [r11 + 2]
or word [rbp + 8], ax
cmp rbp, rbx
je 0x1400362de
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbp + 0x10]
call sub.msvcrt.dll_memcpy
mov word [rbx + 8], r12w
movsxd rcx, dword [rbx + 0xc]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
add rcx, qword [rbp + 0x10]
call sub.msvcrt.dll_memcpy
mov dl, byte [rsp + 0x348]
mov word [r13 + 8], r14w
mov rax, qword [rbp + 0x10]
xor r10d, r10d
mov byte [r15 + rax], r10b
mov rax, qword [rbp + 0x10]
mov byte [rax + r15 + 1], r10b
mov rax, qword [rbp + 0x10]
mov byte [rax + r15 + 2], r10b
mov eax, 0x200
mov dword [rbp + 0xc], r15d
or word [rbp + 8], ax
mov byte [rbp + 0xa], dl
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x140035f32
movsxd r13, dword [rsi + 4]
imul r13, r13, 0x38
add r13, r14
mov bx, word [r13 + 8]
and bx, 0x2c
jne 0x140036378
test byte [r13 + 8], 0x12
je 0x140036375
mov rcx, r13
call fcn.1400359dc
xor r10d, r10d
mov bx, ax
jmp 0x140036378
mov ebx, r10d
movsxd rbp, dword [rsi + 8]
imul rbp, rbp, 0x38
add rbp, r14
mov ax, word [rbp + 8]
and ax, 0x2c
jne 0x1400363a0
test byte [rbp + 8], 0x12
je 0x14003639d
mov rcx, rbp
call fcn.1400359dc
jmp 0x1400363a0
mov eax, r10d
movsxd r12, dword [rsi + 0xc]
movzx ecx, word [rbp + 8]
and al, bl
or cx, word [r13 + 8]
mov ebx, 4
imul r12, r12, 0x38
add r12, r14
test bl, al
je 0x140036559
movzx ecx, byte [rsi]
mov r9, qword [rbp]
mov r8, qword [r13]
sub ecx, 0x67
mov qword [rsp + 0x80], r9
je 0x1400364fe
sub ecx, r15d
je 0x1400364df
xor r10d, r10d
sub ecx, r15d
je 0x140036448
cmp ecx, r15d
je 0x140036416
cmp r8, r10
je 0x140036612
cmp r8, 0xffffffffffffffff
mov rax, r9
cmove r8, r15
cqo
idiv r8
mov r9, rdx
jmp 0x14003651e
cmp r8, r10
je 0x140036612
cmp r8, 0xffffffffffffffff
jne 0x140036438
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140036562
mov rax, r9
cqo
idiv r8
mov r9, rax
jmp 0x14003651e
cmp r8, r10
jle 0x140036479
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x140036562
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jmp 0x140036492
jge 0x1400364d9
cmp r9, r10
jle 0x14003649a
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x140036562
jmp 0x1400364d9
jge 0x1400364d9
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140036562
cmp r9, rax
je 0x140036562
movabs rax, 0x8000000000000001
cqo
idiv r8
mov rcx, rax
mov rax, r9
neg rax
cmp rax, rcx
jg 0x140036562
imul r9, r8
jmp 0x14003651e
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x1400364fb
xor r10d, r10d
cmp r9, r10
jge 0x140036562
sub r9, rax
jmp 0x14003651e
neg r8
lea rcx, [rsp + 0x80]
mov rdx, r8
call fcn.140017ecc
xor r10d, r10d
cmp eax, r10d
jne 0x140036562
mov r9, qword [rsp + 0x80]
mov eax, 0x3e40
mov qword [r12], r9
and word [r12 + 8], ax
or word [r12 + 8], bx
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
jmp case.0x140035ba8.86
test r15b, cl
jne 0x140036612
mov rcx, r13
call fcn.14002f168
mov rcx, rbp
movapd xmm2, xmm0
call fcn.14002f168
movzx edx, byte [rsi]
sub edx, 0x67
je 0x1400365e0
sub edx, r15d
je 0x1400365da
sub edx, r15d
je 0x1400365d4
sub edx, r15d
je 0x1400365c4
mov rcx, r13
call fcn.14002f104
mov rcx, rbp
mov rbx, rax
call fcn.14002f104
xor r10d, r10d
cmp rbx, r10
je 0x140036612
cmp rbx, 0xffffffffffffffff
cqo
pxor xmm0, xmm0
cmove rbx, r15
idiv rbx
lea ebx, [r10 + 4]
cvtsi2sd xmm0, rdx
jmp 0x1400365e7
ucomisd xmm2, qword [0x1401147d0]
je 0x140036612
divsd xmm0, xmm2
jmp 0x1400365e4
mulsd xmm0, xmm2
jmp 0x1400365e4
subsd xmm0, xmm2
jmp 0x1400365e4
addsd xmm0, xmm2
xor r10d, r10d
call fcn.140016f0c
cmp eax, r10d
jne 0x140036612
mov eax, 0x3e40
movsd qword [r12], xmm0
and word [r12 + 8], ax
mov eax, 8
or word [r12 + 8], ax
jmp 0x140036533
mov rcx, r12
call fcn.14002f3f8
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp 0x1400361d8
cmp dword [rsi + 4], r10d
je case.0x140035ba8.86
movsxd rax, dword [rsi + 4]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x140036653
xor edx, edx
mov rcx, rax
jmp 0x14003617f
mov qword [rax], r10
mov word [rax + 8], bx
jmp case.0x140035ba8.86
movsxd rcx, dword [rsi + 8]
movsxd rbp, dword [rsi + 4]
movsxd r12, dword [rsi + 0xc]
imul rcx, rcx, 0x38
imul rbp, rbp, 0x38
imul r12, r12, 0x38
add rcx, r14
add rbp, r14
add r12, r14
mov al, byte [rcx + 8]
or al, byte [rbp + 8]
test r15b, al
je 0x1400366a5
mov rcx, r12
call fcn.14002f3f8
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x140035d50
call fcn.14002f104
mov rcx, rbp
mov rbx, rax
call fcn.14002f104
mov dl, byte [rsi]
mov r11, rax
cmp dl, 0x63
jne 0x1400366c4
and rbx, rax
jmp 0x1400366cc
cmp dl, 0x64
jne 0x1400366d1
or rbx, rax
xor r10d, r10d
jmp 0x140036746
xor r10d, r10d
cmp rax, r10
je 0x140036746
jge 0x1400366f9
mov rcx, r11
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, dl
neg rcx
mov dl, al
mov rax, r11
lea r11d, [r10 + 0x40]
cmp rax, 0xffffffffffffffc0
cmovg r11, rcx
cmp r11, 0x40
jl 0x140036716
cmp rbx, r10
jge 0x14003670e
cmp dl, 0x65
je 0x14003670e
or eax, 0xffffffff
jmp 0x140036711
mov eax, r10d
movsxd rbx, eax
jmp 0x140036746
mov rcx, r11
cmp dl, 0x65
jne 0x140036726
shl rbx, cl
mov r8, rbx
jmp 0x140036743
mov r8, rbx
shr r8, cl
cmp rbx, r10
jge 0x140036743
or rdx, 0xffffffffffffffff
mov ecx, 0x40
sub cl, r11b
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [r12], rbx
mov eax, 0x3e40
mov ebx, 4
and word [r12 + 8], ax
or word [r12 + 8], bx
jmp 0x140036538
movsxd rbx, dword [rsi + 4]
imul rbx, rbx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14002f104
mov r11, rax
mov qword [rbx], rax
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 4
or word [rbx + 8], ax
movsxd rax, dword [rsi + 8]
add rax, r11
mov qword [rbx], rax
jmp 0x1400361d8
movsxd rbx, dword [rsi + 4]
mov ebp, 4
imul rbx, rbx, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test bpl, al
jne 0x14003692b
lea ecx, [rbp + 4]
test cl, al
jne 0x1400367ea
lea ecx, [rbp - 2]
test cl, al
je 0x1400367f9
mov edx, r15d
mov rcx, rbx
call fcn.1400358a0
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp 0x1400367f2
mov rcx, rbx
call fcn.14002f1e0
mov dl, byte [rsp + 0x348]
mov ax, word [rbx + 8]
test bpl, al
jne 0x14003692b
cmp dword [rsi + 8], r10d
jne 0x14003b66e
mov edi, 0x14
mov r12, qword [rsp + 0x340]
mov ebx, 1
mov r14d, 7
mov rbp, qword [rsp + 0x40]
mov r13d, 0xc0a
cmp byte [rbp + 0x61], r10b
cmovne edi, r14d
cmp qword [r12 + 0xa8], r10
jne 0x140036870
cmp edi, r13d
je 0x140036870
mov ecx, edi
call fcn.140081230
mov rcx, qword [rsp + 0x340]
lea rdx, [0x1400e2b18]
mov r8, rax
call fcn.1400300d4
mov r12, qword [rsp + 0x340]
mov edx, edi
mov rcx, rbp
mov dword [r12 + 0x38], edi
call fcn.140016fa4
mov rcx, qword [rsp + 0x340]
sub rsi, qword [rsp + 0x38]
mov r9, qword [rcx + 0xf0]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov rax, qword [rcx + 0xa8]
mov ecx, edi
sar rdx, 2
mov qword [rsp + 0x20], rax
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, [0x1400e36a0]
call fcn.1400166cc
mov rcx, qword [rsp + 0x340]
call fcn.1400321a8
cmp edi, r13d
jne 0x1400368e2
mov rcx, rbp
call fcn.140014dcc
mov al, byte [rsp + 0x350]
xor ecx, ecx
mov edi, ebx
cmp al, cl
jbe 0x1400368fe
movzx edx, al
mov rcx, rbp
sub edx, ebx
call fcn.14004c1a0
mov r12, qword [rsp + 0x340]
mov eax, dword [rsp + 0x88]
add dword [r12 + 0xe4], eax
mov eax, edi
add rsp, 0x2f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x3e40
and ax, cx
or ax, bp
mov word [rbx + 8], ax
mov rbx, rbp
jmp case.0x140035ba8.86
movsxd rbx, dword [rsi + 4]
imul rbx, rbx, 0x38
add rbx, r14
test byte [rbx + 8], 0x24
je 0x140035f3a
mov rcx, rbx
call fcn.14002f168
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 8
or word [rbx + 8], ax
movsd qword [rbx], xmm0
jmp 0x1400361d8
movsxd rbx, dword [rsi + 4]
mov eax, 0x4000
imul rbx, rbx, 0x38
add rbx, r14
test word [rbx + 8], ax
je 0x1400369a7
mov rcx, rbx
call fcn.14002ede4
mov dl, byte [rsp + 0x348]
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400369af
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov r8b, dl
mov dl, byte [rsi + 8]
mov rcx, rbx
call fcn.14002f310
xor r10d, r10d
cmp edi, r10d
jne 0x140036815
mov r11, qword [rsp + 0x340]
jmp 0x140035f2b
movsxd rbp, dword [rsi + 0xc]
movsxd r12, dword [rsi + 4]
imul rbp, rbp, 0x38
imul r12, r12, 0x38
add rbp, r14
add r12, r14
movzx ebx, word [rbp + 8]
movzx r13d, word [r12 + 8]
movzx ecx, bx
or cx, r13w
test r15b, cl
je 0x140036a8d
mov eax, 0x80
test byte [rsi + 2], al
je 0x140036a40
mov al, bl
and al, r13b
test r15b, al
je 0x140036a2c
mov eax, 0x100
test ax, bx
jne 0x140036a2c
mov ecx, r10d
jmp 0x140036c38
mov al, bl
and al, r15b
neg al
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, r15d
jmp 0x140036c15
mov r12, qword [rsp + 0x38]
mov eax, Ordinal_36
test byte [rsi + 2], al
je 0x140036a7d
movsxd rax, dword [rsi + 8]
mov ecx, 0x3e40
mov r9d, r15d
mov dword [rsp + 0x358], r15d
imul rax, rax, 0x38
add rax, r14
and word [rax + 8], cx
or word [rax + 8], r15w
mov r13, qword [rsp + 0x40]
jmp 0x140035f3a
mov eax, 0x10
test byte [rsi + 2], al
jne 0x14003b66e
jmp 0x140036a73
mov al, byte [rsi + 2]
and al, 0x47
cmp al, 0x43
jl 0x140036b95
mov edx, 2
test dl, cl
je 0x140036ad1
mov al, r13b
and al, 0x2e
cmp al, dl
jne 0x140036abf
xor edx, edx
mov rcx, r12
call fcn.1400358a0
mov bx, word [rbp + 8]
mov edx, 2
mov al, bl
and al, 0x2e
cmp al, dl
jne 0x140036ad1
xor edx, edx
mov rcx, rbp
call fcn.1400358a0
mov al, byte [r12 + 8]
and al, byte [rbp + 8]
test al, 4
je 0x140036c01
mov rax, qword [r12]
cmp qword [rbp], rax
jle 0x140036b80
mov ecx, r15d
xor r10d, r10d
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xc99a4]
mov word [r12 + 8], r13w
mov eax, Ordinal_36
mov word [rbp + 8], bx
test byte [rsi + 2], al
je 0x140036c50
movsxd rdx, dword [rsi + 8]
mov eax, 8
mov r9d, ecx
mov dword [rsp + 0x358], ecx
imul rdx, rdx, 0x38
add rdx, r14
test byte [rsi + 2], al
je 0x140036b51
cmp byte [rsi], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x140036d34
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov eax, 0x3e40
mov ebx, 4
and word [rdx + 8], ax
or word [rdx + 8], bx
movsxd rax, r8d
mov qword [rdx], rax
jmp 0x140035c04
jge 0x140036b8d
or ecx, 0xffffffff
xor r10d, r10d
jmp 0x140036c1a
xor r10d, r10d
jmp 0x140036a24
cmp al, 0x42
jne 0x140036c01
mov eax, 2
test al, r13b
jne 0x140036bd7
test r13b, 0x2c
je 0x140036bd7
mov r8b, r15b
mov rcx, r12
call fcn.14002ee40
mov dl, byte [rsp + 0x348]
movzx r11d, r13w
xor r11w, word [r12 + 8]
mov eax, 0x3e40
and r11w, ax
mov eax, 2
xor r13w, r11w
test al, bl
jne 0x140036c01
test bl, 0x2c
je 0x140036c01
mov r8b, r15b
mov rcx, rbp
call fcn.14002ee40
movzx r11d, bx
mov eax, 0x3e40
xor r11w, word [rbp + 8]
and r11w, ax
xor bx, r11w
mov r8, qword [rsi + 0x10]
mov rdx, r12
mov rcx, rbp
call fcn.140032e54
xor r10d, r10d
mov ecx, eax
cmp ecx, r10d
jge 0x140036c32
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xc9994]
jmp 0x140036b08
jne 0x140036af5
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xc999c]
jmp 0x140036b08
mov r12, qword [rsp + 0x38]
cmp r8d, r10d
jne 0x14003b66e
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
jmp 0x140035f2b
cmp r9d, r10d
jmp 0x140035c2e
test byte [rsi + 2], r15b
jne 0x140036c83
mov rbp, r10
jmp 0x140036c8a
mov rbp, qword [rsi - 8]
add rbp, rbx
cmp dword [rsi + 0xc], r10d
mov ecx, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov r15, qword [rsi + 0x10]
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x6c], edx
mov r13d, r10d
mov rbx, r10
jle 0x14003b683
movsxd rax, dword [rsi + 0xc]
lea r14, [r15 + 0x20]
mov qword [rsp + 0x70], rax
cmp rbp, r10
je 0x140036cc5
mov r12d, dword [rbp + rbx*4]
jmp 0x140036cc8
mov r12d, r13d
mov rax, qword [r15 + 0x18]
mov r8, qword [rsp + 0x48]
movzx eax, byte [rbx + rax]
and eax, 1
mov dword [rsp + 0x68], eax
lea eax, [r12 + rdx]
movsxd rdx, eax
lea eax, [r12 + rcx]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r8
imul rcx, rcx, 0x38
add rcx, r8
mov r8, qword [r14]
call fcn.140032e54
xor r10d, r10d
mov r9d, eax
mov dword [rsp + 0x358], eax
cmp eax, r10d
jne 0x140036d4b
mov ecx, dword [rsp + 0x58]
mov edx, dword [rsp + 0x6c]
lea eax, [r10 + 1]
add rbx, rax
add r13d, eax
add r14, 8
cmp rbx, qword [rsp + 0x70]
jl 0x140036cb9
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x140036068
mov rax, qword [r15 + 0x18]
mov r14, qword [rsp + 0x48]
mov ecx, 2
test byte [rbx + rax], cl
je 0x140036d98
movsxd rax, dword [rsp + 0x58]
movsxd rcx, r12d
mov r15d, 1
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
jne 0x140036d8d
movsxd rax, dword [rsp + 0x6c]
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je 0x140036d98
neg r9d
mov dword [rsp + 0x358], r9d
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
cmp dword [rsp + 0x68], r10d
je 0x140035f3a
neg r9d
mov dword [rsp + 0x358], r9d
jmp 0x140035f3a
cmp r9d, r10d
jge 0x140036de6
mov eax, dword [rsi + 4]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp case.0x140035ba8.86
jne 0x140036ded
mov eax, dword [rsi + 8]
jmp 0x140036dd4
mov eax, dword [rsi + 0xc]
jmp 0x140036dd4
movsxd rcx, dword [rsi + 4]
mov ebp, 2
mov edx, ebp
imul rcx, rcx, 0x38
add rcx, r14
call fcn.14002f1a0
movsxd rcx, dword [rsi + 8]
mov edx, ebp
movsxd rbx, eax
imul rcx, rcx, 0x38
add rcx, r14
call fcn.14002f1a0
cmp byte [rsi], 0x2c
movsxd r11, eax
lea rax, [0x140000000]
jne 0x140036e3e
lea rdx, [rbx + rbx*2]
add rdx, r11
movzx eax, byte [rdx + rax + 0xc99e0]
jmp 0x140036e4d
lea rcx, [rbx + rbx*2]
add rcx, r11
movzx eax, byte [rcx + rax + 0xc99f0]
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
imul rcx, rcx, 0x38
mov r9d, dword [rsp + 0x358]
add rcx, r14
mov ebx, 4
cmp eax, ebp
jne 0x140036e8b
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r15w
jmp 0x140035d5f
cdqe
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], bx
jmp 0x140035d5f
movsxd rcx, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.14002f1a0
mov edx, 0x2400
movsxd rcx, eax
movsxd rax, dword [rsi + 0x10]
xor rcx, rax
movsxd rax, dword [rsi + 8]
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], dx
je 0x140036edd
mov rdx, rcx
jmp 0x14003664b
mov qword [rax], rcx
mov word [rax + 8], bx
jmp 0x140035d7c
movsxd rcx, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 8], r15b
jne 0x140036f5e
xor edx, edx
call fcn.14002f1a0
xor r10d, r10d
cmp eax, r10d
mov eax, 0x2400
mov rcx, r10
sete cl
test word [rbx + 8], ax
je 0x140036f33
mov rdx, rcx
mov rcx, rbx
call fcn.14002f474
jmp 0x1400361d8
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
mov rbx, rax
jmp case.0x140035ba8.86
mov rcx, rbx
call fcn.14002f3f8
jmp 0x1400361d8
movsxd rbx, dword [rsi + 8]
movsxd rbp, dword [rsi + 4]
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
add rbp, r14
mov rcx, rbx
call fcn.14002f3f8
test byte [rbp + 8], r15b
jne 0x14003b547
mov eax, 4
mov rcx, rbp
mov word [rbx + 8], ax
call fcn.14002f104
not rax
jmp 0x140036797
mov r10, qword [r11 + 0x100]
xor eax, eax
cmp r10, rax
je 0x140037023
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r11 + 0x88]
imul rcx
mov r8, rdx
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rax, qword [r10 + 0x30]
mov r9d, r8d
and r8d, 7
shr r9, 3
mov ecx, r8d
mov dl, byte [r9 + rax]
mov eax, r15d
shl eax, cl
test al, dl
jne 0x14003b66e
mov rdx, qword [r10 + 0x30]
mov eax, r15d
shl al, cl
or byte [r9 + rdx], al
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
jmp 0x140037036
mov rcx, qword [r11 + 0x88]
mov eax, dword [rsi + 4]
cmp dword [rcx + 4], eax
je 0x14003b66e
mov rax, qword [r11 + 0x88]
mov ecx, dword [rax + 4]
mov dword [rsi + 4], ecx
jmp 0x140035d5f
movsxd rcx, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.14002f1a0
xor r10d, r10d
cmp eax, r10d
jne 0x14003b66e
jmp 0x14003653d
cmp dword [rsi + 0xc], r10d
movsxd rcx, dword [rsi + 4]
mov edx, r10d
sete dl
imul rcx, rcx, 0x38
add rcx, r14
call fcn.14002f1a0
xor r10d, r10d
cmp eax, r10d
je 0x14003b66e
jmp 0x14003653d
movsxd rax, dword [rsi + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
jmp 0x140035c2e
movsxd rax, dword [rsi + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je 0x14003b66e
jmp case.0x140035ba8.86
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je case.0x140035ba8.86
movsxd rcx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.14002f3f8
jmp 0x14003b66e
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd r13, dword [rsi + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0x50], r13d
cmp byte [rbx + 3], r10b
je 0x14003714c
mov rcx, qword [rbx + 0x20]
cmp rcx, r10
je 0x140037131
mov edx, dword [rcx + r13*4 + 4]
cmp edx, r10d
jle 0x140037131
mov rbx, qword [rbx + 0x30]
lea r13d, [rdx - 1]
mov edi, r10d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x30], r10d
jmp 0x140037170
mov rcx, rbx
call fcn.1400327e8
mov r11, qword [rsp + 0x340]
mov edi, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
jmp 0x140037167
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14003715f
mov rcx, rbx
call fcn.140032834
jmp 0x140037139
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140036815
movsxd r14, dword [rsi + 0xc]
mov rdx, qword [rsp + 0x48]
mov eax, dword [r11 + 0x30]
imul r14, r14, 0x38
mov r12, qword [rbx + 0x60]
add r14, rdx
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x60], r12
cmp dword [rbx + 0x28], eax
je 0x14003729a
cmp byte [rbx + 2], r10b
je 0x1400371dc
mov eax, 3
cmp byte [rbx], al
jne 0x1400371ca
movsxd rcx, dword [rbx + 0x2c]
imul rcx, rcx, 0x38
mov eax, dword [rcx + rdx + 0xc]
mov dword [rbx + 0x74], eax
mov dword [rbx + 0x70], eax
mov rax, qword [rcx + rdx + 0x10]
mov qword [rbx + 0x68], rax
jmp 0x140037234
mov rcx, r14
call fcn.14002f3f8
mov r14, qword [rsp + 0x48]
jmp 0x14003661a
mov rbp, qword [rbx + 0x38]
mov rcx, rbp
call fcn.14002759c
mov eax, dword [rbp + 0x40]
xor r10d, r10d
mov dword [rbx + 0x70], eax
mov rax, qword [rbp + 0x88]
movzx ecx, word [rbp + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbp + 0x38]
cmp ecx, edx
jle 0x14003720f
mov ecx, edx
cmp edx, r10d
cmovl ecx, r10d
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x340]
mov dword [rbx + 0x74], ecx
mov rax, qword [rbp + 0x38]
mov qword [rbx + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [rbx + 0x70], eax
ja 0x14003b0bd
mov eax, dword [r11 + 0x30]
mov rcx, qword [rbx + 0x68]
mov dword [rbx + 0x28], eax
mov eax, 0x80
cmp byte [rcx], al
jae 0x140037254
movzx eax, byte [rcx]
mov dword [r12], eax
mov eax, r15d
jmp 0x140037262
mov rdx, r12
call fcn.140017cf8
xor r10d, r10d
movzx eax, al
movzx eax, al
mov word [rbx + 0x52], r10w
mov dword [rbx + 0x48], eax
mov eax, dword [r12]
cmp dword [rbx + 0x74], eax
jae 0x140037364
mov qword [rbx + 0x68], r10
mov dword [rbx + 0x74], r10d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x140037438
cmp eax, dword [rbx + 0x70]
ja 0x140037438
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x1400374ea
mov eax, dword [r12]
cmp dword [rbx + 0x48], eax
jae 0x1400374e5
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x78], rax
cmp rax, r10
jne 0x14003730b
xor edx, edx
lea rcx, [rsp + 0x1a8]
lea r8d, [rdx + 0x38]
call sub.msvcrt.dll_memset
mov r8d, dword [r12]
mov rcx, qword [rbx + 0x38]
lea r9, [rsp + 0x1a8]
xor edx, edx
call fcn.14002fa48
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x78], rax
movzx ecx, word [rbx + 0x52]
mov r8, qword [rsp + 0x60]
mov r14d, 1
mov r15d, dword [r12 + rcx*4]
mov r12d, dword [rbx + 0x48]
mov edx, dword [r8]
add r12, rax
add rdx, rax
mov dword [rsp + 0x58], ecx
mov r13, rcx
lea rdi, [0x140000000]
lea esi, [r14 + 0x7f]
mov qword [rsp + 0x70], rdx
movzx ebp, byte [r12]
mov dword [rsp + 0x9c], ebp
mov dword [rbx + r13*4 + 0x78], ebp
cmp ebp, esi
jae 0x14003736a
movzx eax, byte [rbp + rdi + 0xc98b0]
add r12, r14
jmp 0x1400373ae
mov rax, qword [rbx + 0x68]
jmp 0x140037306
lea rdx, [rsp + 0x9c]
mov rcx, r12
call fcn.140017cf8
mov ebp, dword [rsp + 0x9c]
movzx r11d, al
mov dword [rbx + r13*4 + 0x78], ebp
add r12, r11
cmp ebp, esi
jb 0x140037398
lea eax, [rbp - 0xc]
shr eax, 1
jmp 0x1400373a0
movzx eax, byte [rbp + rdi + 0xc98b0]
mov ecx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
add ecx, r14d
add r15, rax
cmp ecx, dword [rsp + 0x50]
movsxd r13, ecx
mov dword [rsp + 0x58], ecx
mov dword [r8 + r13*4], r15d
jg 0x1400373ce
cmp r12, rdx
jb 0x140037342
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x30]
mov r14, qword [rsp + 0xb8]
cmp r12, rdx
jb 0x1400373f1
ja 0x1400373f9
mov eax, dword [rbx + 0x70]
cmp r15, rax
jne 0x1400373f9
mov eax, dword [rbx + 0x70]
cmp r15, rax
jbe 0x14003746f
xor r10d, r10d
cmp dword [r8], r10d
jne 0x140037409
mov ecx, r10d
mov r12, rdx
jmp 0x140037472
cmp qword [rbx + 0x68], r10
jne 0x140037438
mov eax, 0x2400
test word [rsp + 0x1b0], ax
jne 0x140037428
cmp dword [rsp + 0x1c8], r10d
je 0x140037438
lea rcx, [rsp + 0x1a8]
call fcn.14002f060
xor r10d, r10d
mov r12, qword [rsp + 0x38]
mov eax, dword [r12 + 0xc]
cmp eax, r10d
jle 0x14003b7a1
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rsi, [r12 + rax*8]
jmp 0x140035f2b
xor r10d, r10d
sub r12d, dword [rsp + 0x78]
mov word [rbx + 0x52], cx
mov dword [rbx + 0x48], r12d
cmp qword [rbx + 0x68], r10
jne 0x1400374ab
mov eax, 0x2400
test word [rsp + 0x1b0], ax
jne 0x14003749e
cmp dword [rsp + 0x1c8], r10d
je 0x1400374ab
lea rcx, [rsp + 0x1a8]
call fcn.14002f060
mov r12, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x50]
mov r15d, 1
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x1400374f1
cmp byte [rsi + 1], 0xf5
mov rcx, r14
jne 0x1400371cd
mov rdx, qword [rsi + 0x10]
mov r8d, 0x800
call fcn.14002f5cc
jmp 0x1400371d2
mov ebp, r10d
jmp 0x1400374bb
movsxd rax, r13d
mov ebp, dword [rbx + rax*4 + 0x78]
mov eax, 0x2400
test word [r14 + 8], ax
je 0x140037505
mov rcx, r14
call fcn.14002f3f8
movsxd rcx, r13d
mov eax, dword [r12 + rcx*4 + 4]
cmp dword [rbx + 0x74], eax
jb 0x14003760c
mov r12d, dword [r12 + rcx*4]
add r12, qword [rbx + 0x68]
cmp ebp, 0xc
jae 0x140037535
mov rcx, r12
mov edx, ebp
mov r8, r14
call fcn.140032884
jmp 0x1400371d2
mov al, byte [rsp + 0x348]
lea ebx, [rbp - 0xc]
shr ebx, 1
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
mov dword [r14 + 0xc], ebx
cmp dword [r14 + 0x20], edx
jge 0x140037599
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], r15w
call fcn.14002ec0c
xor r11d, r11d
cmp eax, r11d
je 0x1400375a1
mov r13, qword [rsp + 0x40]
mov r14d, 7
mov rcx, r13
call fcn.140014dcc
mov rcx, qword [rsp + 0x340]
lea rdx, [0x1400e36c0]
call fcn.1400300d4
mov edi, r14d
jmp 0x14003b8ff
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov r11, qword [r14 + 0x10]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
lea rcx, [0x140000000]
mov byte [rbx + r11], r10b
mov rax, qword [r14 + 0x10]
mov r11, qword [rsp + 0x340]
mov byte [rax + rbx + 1], r10b
mov eax, ebp
lea ebx, [r10 + 4]
and rax, r15
movzx eax, word [rcx + rax*2 + 0xc883c]
mov word [r14 + 8], ax
mov r14, qword [rsp + 0x48]
jmp case.default.0x140035ba8
mov al, byte [rsp + 0x348]
mov byte [r14 + 0xa], al
test byte [rsi + 2], 0xc0
je 0x140037633
cmp ebp, 0xc
jb 0x140037627
test r15b, bpl
je 0x14003765e
mov eax, 0x80
test byte [rsi + 2], al
jne 0x14003765e
jmp 0x140037638
mov eax, 0x80
cmp ebp, eax
jb 0x140037645
lea r8d, [rbp - 0xc]
shr r8d, 1
jmp 0x140037657
lea rdx, [0x140000000]
mov eax, ebp
movzx r8d, byte [rax + rdx + 0xc98b0]
xor eax, eax
cmp r8d, eax
jne 0x14003766a
lea rcx, [0x140123a80]
jmp 0x140037526
mov edx, dword [r12 + rcx*4]
mov rcx, qword [rbx + 0x38]
mov r9, r14
call fcn.14002fa48
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, ebp
call fcn.140032884
mov r8d, 0xefff
and word [r14 + 8], r8w
jmp 0x1400371d2
movsxd rbx, dword [rsi + 4]
mov rbp, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, r14
mov r8b, dl
mov dl, byte [rbp]
mov rcx, rbx
call fcn.140035938
cmp byte [rbp], 0x45
jne 0x140037723
movzx eax, word [rbx + 8]
mov ecx, 4
test cl, al
je 0x140037723
movabs rcx, 0x7fffffffffff
cmp qword [rbx], rcx
jg 0x140037706
movabs rcx, 0xffff800000000000
cmp qword [rbx], rcx
jl 0x140037706
mov ecx, 0xfffb
and ax, cx
or ax, 0x20
jmp 0x14003771f
pxor xmm0, xmm0
mov ecx, 0xfffb
cvtsi2sd xmm0, qword [rbx]
and ax, cx
or ax, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], ax
mov dl, byte [rsp + 0x348]
add rbp, r15
xor r10d, r10d
cmp byte [rbp], r10b
je 0x14003b53a
add rbx, 0x38
jmp 0x1400376b9
mov eax, dword [rsi + 8]
mov rcx, qword [rsp + 0x48]
movsxd r11, dword [rsi + 4]
imul r11, r11, 0x38
mov r12, qword [rsp + 0x340]
mov rbp, qword [rsi + 0x10]
add r11, rcx
movzx r12d, byte [r12 + 0xc3]
mov r14, r10
mov r15d, r10d
mov qword [rsp + 0x78], r10
mov r10d, 1
xor r8d, r8d
sub eax, r10d
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x68], r12d
movsxd r13, eax
movsxd rax, dword [rsi + 0xc]
imul r13, r13, 0x38
imul rax, rax, 0x38
add r13, r11
mov qword [rsp + 0xb0], r13
add rax, rcx
mov qword [rsp + 0x90], rax
cmp rbp, r8
je 0x140037827
lea rbx, [r11 + 8]
xor r13d, r13d
lea esi, [r10 + 0x1f]
mov edi, 0xfffb
lea r12d, [r10 + 3]
mov r8b, dl
mov dl, byte [rbp]
lea rcx, [rbx - 8]
call fcn.140035938
cmp byte [rbp], 0x45
jne 0x1400377f0
movzx eax, word [rbx]
test r12b, al
je 0x1400377f0
and ax, di
or ax, si
mov word [rbx], ax
mov dl, byte [rsp + 0x348]
mov r10d, 1
add rbx, 0x38
add rbp, r10
cmp byte [rbp], r13b
jne 0x1400377ca
mov rsi, qword [rsp + 0x80]
mov r12d, dword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov r13, qword [rsp + 0xb0]
xor r8d, r8d
movsxd r9, r12d
lea rbx, [r13 + 0x24]
mov qword [rsp + 0x70], r9
mov cx, word [rbx - 0x1c]
test r10b, cl
je 0x140037854
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r15d, r10d
jmp 0x140037940
test cl, 0x24
je 0x14003792e
mov r8, qword [rbx - 0x24]
xor r12d, r12d
cmp r8, r12
mov rdx, r8
jge 0x14003786f
not rdx
add r15d, r10d
cmp rdx, 0x7f
ja 0x1400378a0
mov rax, r8
and rax, r10
cmp rax, r8
jne 0x140037895
mov eax, 4
cmp r9, rax
jl 0x140037895
lea eax, [rdx + 8]
jmp 0x14003791c
add r14, r10
mov dword [rbx], r10d
jmp 0x1400379c4
cmp rdx, 0x7fff
ja 0x1400378b0
mov eax, 2
jmp 0x1400378ce
cmp rdx, 0x7fffff
ja 0x1400378c0
mov eax, 3
jmp 0x1400378ce
cmp rdx, 0x7fffffff
ja 0x1400378d3
mov eax, 4
add r14, rax
jmp 0x14003791c
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1400378ed
add r14, 6
mov eax, 5
jmp 0x14003791c
mov edx, 8
add r14, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x140037923
mov eax, 0xffdf
pxor xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, r8
lea eax, [rdx - 1]
or cx, dx
mov word [rbx - 0x1c], cx
movsd qword [rbx - 0x24], xmm0
mov dword [rbx], eax
jmp 0x1400379c4
mov dword [rbx], 6
jmp 0x1400379c4
mov edx, 8
test dl, cl
je 0x140037947
add r15d, r10d
lea eax, [rdx - 1]
add r14, rdx
mov dword [rbx], eax
xor r12d, r12d
jmp 0x1400379c4
mov r12d, dword [rbx - 0x18]
mov eax, ecx
shr eax, 1
and eax, r10d
lea r13d, [rax + r12*2 + 0xc]
mov eax, 0x4000
test ax, cx
je 0x140037998
movsxd rax, dword [rbx - 0x24]
lea r13d, [r13 + rax*2]
cmp r14, r8
je 0x140037993
lea rcx, [rbx - 0x24]
call fcn.14002ede4
xor r11d, r11d
cmp eax, r11d
jne 0x14003756a
add r12d, dword [rbx - 0x24]
mov r9, qword [rsp + 0x70]
lea r10d, [r11 + 1]
jmp 0x140037998
add qword [rsp + 0x78], rax
mov eax, r12d
mov ecx, r10d
add r14, rax
mov eax, r13d
shr rax, 7
xor r12d, r12d
jmp 0x1400379b4
add ecx, r10d
shr rax, 7
cmp rax, r12
jne 0x1400379ad
mov r11, qword [rsp + 0x60]
add r15d, ecx
mov dword [rbx], r13d
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x1400379d9
sub rbx, 0x38
xor r8d, r8d
jmp 0x140037833
cmp r15d, 0x7e
jle 0x140037a0e
mov edx, r10d
movsxd rax, r15d
jmp 0x1400379ea
add edx, r10d
shr rax, 7
cmp rax, r12
jne 0x1400379e7
add r15d, edx
mov ecx, r10d
movsxd rax, r15d
jmp 0x140037a01
add ecx, r10d
shr rax, 7
cmp rax, r12
jne 0x1400379fe
cmp edx, ecx
jge 0x140037a11
add r15d, r10d
mov r9, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
movsxd rbx, r15d
movsxd rax, dword [r9 + 0x20]
lea rbp, [r14 + rbx]
lea rcx, [r13 + rbp]
cmp rcx, rax
jg 0x140037a3d
mov rax, qword [r9 + 0x18]
mov qword [r9 + 0x10], rax
jmp 0x140037a91
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x14003b0b5
cmp dword [r9 + 0x20], ebp
jge 0x140037a77
xor r8d, r8d
mov edx, ebp
mov rcx, r9
call fcn.14002ec0c
mov r9, qword [rsp + 0x90]
mov r11, qword [rsp + 0x60]
mov r10d, 1
jmp 0x140037a88
mov rax, qword [r9 + 0x18]
and word [r9 + 8], 0x2d
mov qword [r9 + 0x10], rax
mov eax, r12d
cmp eax, r12d
jne 0x14003756a
mov eax, 0x10
mov dword [r9 + 0xc], ebp
mov word [r9 + 8], ax
cmp r13, r12
je 0x140037ab1
mov eax, 0x4010
mov dword [r9], r13d
mov word [r9 + 8], ax
mov rbp, qword [r9 + 0x10]
mov ecx, 0x80
lea r12, [rbx + rbp]
cmp r15d, ecx
jae 0x140037ac9
mov byte [rbp], r15b
jmp 0x140037ad5
cmp rbx, 0x7f
ja 0x140037ada
and bl, 0x7f
mov byte [rbp], bl
mov eax, r10d
jmp 0x140037aea
mov rdx, rbx
mov rcx, rbp
call fcn.140017b34
mov ecx, 0x80
mov r13, qword [rsp + 0xb0]
movzx eax, al
mov esi, 7
add rbp, rax
lea rdi, [0x140000000]
mov r10d, dword [r11 + 0x24]
cmp r10d, ecx
jae 0x140037b13
mov byte [rbp], r10b
jmp 0x140037b22
mov rdx, r10
cmp r10, 0x7f
ja 0x140037b29
and dl, 0x7f
mov byte [rbp], dl
mov eax, 1
jmp 0x140037b31
mov rcx, rbp
call fcn.140017b34
movzx eax, al
add rbp, rax
lea eax, [r10 - 1]
cmp eax, 6
ja 0x140037b68
movzx ecx, byte [r10 + rdi + 0xc98b0]
mov rdx, qword [r11]
xor r10d, r10d
lea r8, [r12 + rcx]
mov ebx, ecx
dec r8
dec ecx
mov byte [r8], dl
shr rdx, 8
cmp ecx, r10d
jne 0x140037b55
jmp 0x140037b99
cmp r10d, 0xc
jb 0x140037b93
mov ebx, dword [r11 + 0xc]
xor r10d, r10d
cmp ebx, r10d
jbe 0x140037b99
mov rdx, qword [r11 + 0x10]
mov r8, rbx
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov r11, qword [rsp + 0x60]
xor r10d, r10d
jmp 0x140037b99
xor r10d, r10d
mov ebx, r10d
add r11, 0x38
mov eax, ebx
mov ecx, 0x80
add r12, rax
mov qword [rsp + 0x60], r11
cmp r11, r13
jbe 0x140037b04
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x30]
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x140035f26
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rsp + 0xb8]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], r10
mov rcx, qword [rcx + 0x38]
call fcn.14002cf50
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
mov rcx, qword [rsp + 0x340]
mov rdx, rsi
call fcn.140035a88
mov rcx, qword [rsp + 0xb8]
mov qword [rax], rcx
jmp 0x140036693
mov r15d, dword [rsi + 4]
mov rbp, qword [rsi + 0x10]
cmp r15d, r10d
jne 0x140037cfd
cmp dword [r13 + 0xd0], r10d
jg 0x14003b7bd
mov rcx, rbp
call fcn.140016f44
mov r8d, dword [r13 + 0x280]
xor edx, edx
add r8d, dword [r13 + 0x27c]
mov rcx, r13
movsxd r12, eax
call fcn.14006e6ec
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
lea rdx, [r12 + 0x21]
mov rcx, r13
call fcn.140014ae8
xor r10d, r10d
mov rbx, rax
cmp rax, r10
je 0x140037f7e
lea edx, [r12 + 1]
lea rcx, [rax + 0x20]
movsxd r8, edx
mov rdx, rbp
mov qword [rax], rcx
call sub.msvcrt.dll_memcpy
xor r10d, r10d
cmp byte [r13 + 0x5f], r10b
je 0x140037cc9
mov byte [r13 + 0x5f], r10b
mov byte [r13 + 0x67], 1
jmp 0x140037cd0
inc dword [r13 + 0x27c]
mov rax, qword [r13 + 0x270]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x288]
mov qword [r13 + 0x270], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x290]
mov qword [rbx + 0x10], rax
jmp 0x140037f7e
mov r12, qword [rsp + 0x40]
mov r13d, r10d
mov ebx, 1
mov r14, qword [r12 + 0x270]
cmp r14, r10
je 0x14003b835
mov rcx, qword [r14]
mov rdx, rbp
call fcn.140017180
xor r10d, r10d
cmp eax, r10d
je 0x140037d3a
mov r14, qword [r14 + 0x18]
add r13d, ebx
cmp r14, r10
jne 0x140037d1b
cmp r14, r10
je 0x14003b835
cmp dword [r12 + 0xd0], r10d
jle 0x140037d56
cmp r15d, ebx
je 0x14003b7d3
cmp qword [r14 + 0x18], r10
jne 0x140037dba
cmp byte [r12 + 0x67], r10b
je 0x140037dba
mov rbp, rbx
mov dword [rsp + 0x50], ebx
cmp r15d, ebp
jne 0x140037dc2
mov edx, ebp
mov rcx, r11
call fcn.140032158
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x1400368fe
mov rdi, qword [rsp + 0x340]
mov byte [r12 + 0x5f], bpl
mov rcx, rdi
call fcn.1400321a8
mov ecx, 5
cmp eax, ecx
je 0x14003b7f7
xor eax, eax
mov byte [r12 + 0x67], al
mov edi, dword [rdi + 0x38]
mov dword [rsp + 0x30], edi
jmp 0x140037eec
mov dword [rsp + 0x50], r10d
mov rbp, rbx
mov eax, dword [r12 + 0x27c]
sub eax, r13d
mov r13d, eax
mov eax, 2
sub r13d, ebp
cmp r15d, eax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x68], r13d
jne 0x140037e44
mov r12d, dword [r12 + 0x2c]
and r12d, ebp
cmp dword [rax + 0x28], r10d
mov ebp, r10d
jle 0x140037e47
cmp r12d, r10d
mov r13d, r10d
mov rbx, r10
sete r13b
mov rcx, qword [rax + 0x20]
mov r8d, r13d
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.1400271dc
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
mov rax, qword [rsp + 0x40]
inc ebp
add rbx, 0x20
cmp ebp, dword [rax + 0x28]
jl 0x140037e05
mov r13d, dword [rsp + 0x68]
jmp 0x140037e47
mov r12d, r10d
cmp dword [rax + 0x28], r10d
mov ebp, r10d
jle 0x140037e89
mov rbx, r10
mov rcx, qword [rax + 0x20]
mov r8d, r13d
mov edx, r15d
mov rcx, qword [rcx + rbx + 8]
call fcn.140027388
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
mov rax, qword [rsp + 0x40]
inc ebp
add rbx, 0x20
cmp ebp, dword [rax + 0x28]
jl 0x140037e53
cmp r12d, r10d
mov r12, qword [rsp + 0x40]
mov ebp, 1
je 0x140037ec2
mov rax, qword [r12 + 8]
cmp rax, r10
je 0x140037eb5
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ebp
mov rax, qword [rax + 0x10]
jmp 0x140037e9d
mov rcx, r12
call fcn.14004c21c
or dword [r12 + 0x2c], ebp
mov ebx, dword [rsp + 0x50]
jmp 0x140037eec
mov rdx, qword [r12 + 0x270]
mov rcx, r12
mov rax, qword [rdx + 0x18]
mov qword [r12 + 0x270], rax
call fcn.140014878
dec dword [r12 + 0x27c]
cmp qword [r12 + 0x270], r14
jne 0x140037ec8
cmp r15d, ebp
jne 0x140037f24
mov rax, qword [r14 + 0x18]
mov rdx, r14
mov rcx, r12
mov qword [r12 + 0x270], rax
call fcn.140014878
xor r10d, r10d
cmp ebx, r10d
jne 0x140037f74
dec dword [r12 + 0x27c]
jmp 0x140037f4d
mov rax, qword [r14 + 8]
xor r10d, r10d
mov qword [r12 + 0x288], rax
mov rax, qword [r14 + 0x10]
mov qword [r12 + 0x290], rax
cmp ebx, r10d
je 0x140037f4d
lea eax, [r10 + 2]
cmp r15d, eax
jne 0x140037f74
mov r8d, r13d
mov r13, qword [rsp + 0x40]
mov edx, r15d
mov rcx, r13
call fcn.14006e6ec
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
jmp 0x140037f79
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
cmp edi, r10d
jne 0x140036815
jmp 0x140035f1e
mov edx, dword [rsi + 8]
mov ebx, r10d
mov dword [rsp + 0x6c], ebx
cmp edx, r10d
je 0x140037faa
mov eax, dword [r13 + 0x30]
bt rax, 0x14
jb 0x14003b84b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbp, qword [rcx + rax + 8]
cmp rbp, r10
je 0x1400380b9
lea r8, [rsp + 0x6c]
mov rcx, rbp
call fcn.1400263f8
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b855
mov r11, qword [rsp + 0x340]
cmp dword [rsi + 8], r10d
je 0x1400380b5
mov eax, 0x80
test byte [r11 + 0xc8], al
je 0x1400380b5
cmp byte [r13 + 0x5f], r10b
je 0x14003801a
cmp dword [r13 + 0xcc], r15d
jle 0x1400380b5
cmp dword [r11 + 0x40], r10d
jne 0x140038039
add dword [r13 + 0x280], r15d
mov ecx, dword [r13 + 0x280]
add ecx, dword [r13 + 0x27c]
mov dword [r11 + 0x40], ecx
mov r8d, dword [r11 + 0x40]
xor edx, edx
mov rcx, r13
sub r8d, r15d
call fcn.14006e6ec
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038097
mov rax, qword [rbp + 8]
mov r12, qword [rsp + 0x340]
mov rcx, qword [rax]
mov edx, dword [r12 + 0x40]
cmp edx, dword [rcx + 0x80]
jle 0x14003808a
cmp byte [rcx + 0xa], r10b
je 0x14003808a
call fcn.140020c94
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x140038092
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x288]
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0x58], rax
mov rax, qword [r13 + 0x290]
mov qword [r11 + 0x60], rax
mov ebx, dword [rsp + 0x6c]
cmp word [rsi + 2], r10w
je 0x140038157
cmp ebx, dword [rsi + 0xc]
jne 0x1400380e2
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [rsi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsi + 0x10]
cmp dword [rcx + 4], eax
je 0x140038157
mov rdx, qword [r11 + 0xa8]
cmp rdx, r10
je 0x1400380f6
mov rcx, r13
call fcn.140014878
lea rdx, [0x1400e35c8]
mov rcx, r13
call fcn.140014c7c
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0xa8], rax
movsxd rdx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x14003813c
mov rcx, r13
call fcn.14004c1a0
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffd
or dword [r11 + 0xc8], r15d
mov edi, 0x11
mov dword [rsp + 0x30], edi
xor r10d, r10d
cmp edi, r10d
jne 0x140036815
jmp 0x140035f2b
movsxd rax, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 0xc]
shl rax, 5
lea r8, [rsp + 0xd0]
mov rcx, qword [rax + rcx + 8]
call fcn.14002ce84
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
movsxd rcx, dword [rsp + 0xd0]
mov qword [rax], rcx
jmp 0x140035d7c
movsxd rbx, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002ced4
mov edi, eax
mov dword [rsp + 0x30], eax
cmp dword [rsi + 8], r15d
jne 0x1400381d8
mov rcx, qword [rbx + 0x18]
mov eax, dword [rsi + 0xc]
mov dword [rcx], eax
or dword [r13 + 0x2c], r15d
jmp 0x1400381ec
mov eax, 2
cmp dword [rsi + 8], eax
jne 0x1400381ec
mov rcx, qword [rbx + 0x18]
mov al, byte [rsi + 0xc]
mov byte [rcx + 0x70], al
xor r10d, r10d
cmp dword [rsi + 4], r15d
jne 0x140038227
mov rax, qword [r13 + 8]
jmp 0x14003820d
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r15d
mov rax, qword [rax + 0x10]
cmp rax, r10
jne 0x1400381fb
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x140038157
mov r11, qword [rsp + 0x340]
jmp 0x140038157
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp rbx, r10
je 0x140038251
mov eax, dword [rsi + 8]
cmp dword [rbx + 0x4c], eax
je 0x1400383bb
mov ebx, 4
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r15b
je 0x14003b898
movsxd r15, dword [rsi + 0xc]
mov r8, qword [rsp + 0x40]
movsxd r13, dword [rsi + 8]
mov rax, r15
mov r12d, r10d
mov r14, r10
shl rax, 5
add rax, qword [r8 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
cmp bpl, 0x62
jne 0x1400382bb
movzx edi, word [rsi + 2]
mov rax, qword [rax + 0x18]
mov ecx, 8
and edi, ecx
mov cl, byte [rax + 0x70]
or edi, ebx
cmp cl, byte [r11 + 0xc3]
jae 0x1400382be
mov byte [r11 + 0xc3], cl
jmp 0x1400382be
mov edi, r10d
mov eax, 0x10
test byte [rsi + 2], al
je 0x140038301
mov rbx, r13
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.14002f104
mov r11, qword [rsp + 0x340]
mov ebp, 4
mov qword [rbx], rax
mov r13d, dword [rbx]
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], bp
xor r10d, r10d
jmp 0x140038306
mov ebp, 4
mov al, byte [rsi + 1]
cmp al, 0xf7
jne 0x140038318
mov r14, qword [rsi + 0x10]
movzx r12d, word [r14 + 8]
jmp 0x140038320
cmp al, 0xfd
jne 0x140038320
mov r12d, dword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov r9d, r15d
mov r8d, r12d
mov rcx, r11
mov byte [rsp + 0x20], r10b
call fcn.140035770
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x14003756a
or dword [rbx + 8], ebp
lea ecx, [rax + 1]
mov rax, qword [rbx + 0x38]
cmp r13d, ecx
mov byte [rbx + 2], cl
mov dword [rbx + 0x4c], r13d
jge 0x140038366
mov ecx, 0x108ea
call fcn.140082d0c
jmp 0x14003837e
mov rcx, qword [rsp + 0x70]
mov r9, r14
mov r8d, edi
mov edx, r13d
mov qword [rsp + 0x20], rax
call fcn.14002743c
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov qword [rbx + 0x40], r14
cmp byte [rsi + 1], 0xf7
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x30], eax
mov edi, eax
setne al
xor r10d, r10d
mov byte [rbx + 4], al
mov cl, byte [rsi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
cmp edi, r10d
jne 0x140036815
jmp 0x140035f3a
movsxd rcx, dword [rsi + 8]
mov rax, qword [r11 + 0x78]
mov edx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
or r9d, 0xffffffff
mov rcx, r11
movsx r8d, word [rbx + 0x50]
mov byte [rsp + 0x20], r10b
call fcn.140035770
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003756f
or dword [rax + 8], r15d
mov rdi, qword [r11 + 0x38]
mov byte [rax + 2], r15b
mov r13, qword [rbx + 0x40]
mov qword [rax + 0x40], r13
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov eax, dword [rbx + 8]
mov ebp, ecx
xor eax, dword [r11 + 8]
and eax, 4
xor eax, dword [r11 + 8]
cmp ecx, r15d
mov dword [r11 + 8], eax
mov r12, qword [rbx + 0x10]
jge 0x14003845f
mov ecx, 0x108ea
call fcn.140082d0c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003850a
mov rbx, qword [r12 + 8]
cmp qword [rbx + 0x60], r10
jne 0x14003849d
mov ecx, dword [rbx + 0x30]
call fcn.14001c024
xor r10d, r10d
mov qword [rbx + 0x60], rax
cmp rax, r10
je 0x14003848a
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rbx + 0x60], rax
cmp qword [rbx + 0x60], r10
jne 0x14003849d
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003850a
cmp ebp, r15d
jne 0x1400384ab
mov eax, dword [rbx + 0x3c]
neg eax
sbb ecx, ecx
and ebp, ecx
mov dword [rdi + 0x50], ebp
mov byte [rdi + 0x54], 0xff
mov qword [rdi + 0x80], r13
mov qword [rdi + 8], r12
mov qword [rdi + 0x20], rbx
mov byte [rdi + 1], r15b
mov byte [rdi + 2], r10b
mov rax, qword [rbx + 0x10]
cmp rax, r10
je 0x1400384f3
mov r14d, Ordinal_36
cmp dword [rax + 0x50], ebp
jne 0x1400384e5
or byte [rax + 1], r14b
or byte [rdi + 1], r14b
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x1400384d8
mov r14, qword [rsp + 0x48]
mov rax, qword [rbx + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rdi + 0x28], rax
mov qword [rbx + 0x10], rdi
mov byte [rdi], r15b
mov edi, r10d
mov r13, qword [rsp + 0x40]
jmp 0x140035f1e
movsxd rdx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rdx*8]
cmp rbx, r10
je 0x140038553
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x28], r10d
cmp rcx, r10
je 0x1400387e1
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002cc08
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400387d1
mov r8d, dword [rsi + 8]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r10b
call fcn.140035770
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x14003756f
or dword [rbx + 8], r15d
movzx ecx, word [rsi + 2]
mov dword [rsp + 0x28], 0x41e
or ecx, 5
lea r9, [rbx + 0x10]
mov r8, r13
mov dword [rsp + 0x20], ecx
mov rcx, qword [r13]
xor edx, edx
call fcn.140025958
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x1400387b1
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r15d
call fcn.1400263f8
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x1400387b1
mov r14, qword [rsi + 0x10]
mov qword [rbx + 0x40], r14
cmp r14, r10
je 0x1400386f5
movzx r8d, word [rsi + 2]
mov rcx, qword [rbx + 0x10]
lea rdx, [rbx + 0x4c]
or r8d, 2
call fcn.14002c740
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x1400386e7
mov r13d, dword [rbx + 0x4c]
mov rbp, qword [rbx + 0x38]
mov r12, qword [rbx + 0x10]
cmp r13d, r15d
jge 0x140038634
mov ecx, 0x108ea
call fcn.140082d0c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400386e7
mov rdi, qword [r12 + 8]
mov qword [rsp + 0x70], rdi
cmp qword [rdi + 0x60], r10
jne 0x140038677
mov ecx, dword [rdi + 0x30]
call fcn.14001c024
xor r10d, r10d
mov qword [rdi + 0x60], rax
cmp rax, r10
je 0x140038664
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rdi + 0x60], rax
cmp qword [rdi + 0x60], r10
jne 0x140038677
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400386e7
cmp r13d, r15d
jne 0x140038686
mov eax, dword [rdi + 0x3c]
neg eax
sbb ecx, ecx
and r13d, ecx
mov dword [rbp + 0x50], r13d
mov byte [rbp + 0x54], 0xff
mov qword [rbp + 0x80], r14
mov qword [rbp + 8], r12
mov qword [rbp + 0x20], rdi
mov byte [rbp + 1], r15b
mov byte [rbp + 2], r10b
mov rax, qword [rdi + 0x10]
cmp rax, r10
je 0x1400386cf
mov edi, Ordinal_36
cmp dword [rax + 0x50], r13d
jne 0x1400386c1
or byte [rax + 1], dil
or byte [rbp + 1], dil
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x1400386b3
mov rdi, qword [rsp + 0x70]
mov rax, qword [rdi + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rbp + 0x28], rax
mov qword [rdi + 0x10], rbp
mov byte [rbp], r15b
mov edi, r10d
mov r13, qword [rsp + 0x40]
mov byte [rbx + 4], r10b
jmp 0x1400387ac
mov r12, qword [rbx + 0x10]
mov rdi, qword [rbx + 0x38]
mov dword [rbx + 0x4c], r15d
mov rbp, qword [r12 + 8]
cmp qword [rbp + 0x60], r10
jne 0x14003873f
mov ecx, dword [rbp + 0x30]
call fcn.14001c024
xor r10d, r10d
mov qword [rbp + 0x60], rax
cmp rax, r10
je 0x14003872c
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], r10
jne 0x14003873f
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400387a8
mov eax, dword [rbp + 0x3c]
mov byte [rdi + 0x54], 0xff
mov qword [rdi + 0x80], r10
neg eax
mov qword [rdi + 8], r12
mov qword [rdi + 0x20], rbp
sbb ecx, ecx
mov byte [rdi + 1], r15b
mov byte [rdi + 2], r10b
and ecx, r15d
mov dword [rdi + 0x50], ecx
mov rax, qword [rbp + 0x10]
cmp rax, r10
je 0x140038791
mov r13d, Ordinal_36
cmp dword [rax + 0x50], ecx
jne 0x140038783
or byte [rax + 1], r13b
or byte [rdi + 1], r13b
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x140038776
mov r13, qword [rsp + 0x40]
mov rax, qword [rbp + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rdi + 0x28], rax
mov qword [rbp + 0x10], rdi
mov byte [rdi], r15b
mov edi, r10d
mov byte [rbx + 4], r15b
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x38]
mov eax, r10d
mov ecx, 8
cmp word [rsi + 2], cx
setne al
shl eax, 2
xor eax, dword [rbx + 8]
and eax, 4
xor dword [rbx + 8], eax
mov r9d, dword [rsp + 0x358]
mov r11, qword [rsp + 0x340]
cmp edi, r10d
jne 0x140036815
mov byte [rbx + 2], r15b
jmp 0x140036068
mov r8d, dword [rsi + 8]
mov edx, dword [rsi + 4]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r15b
call fcn.140035770
xor r11d, r11d
cmp rax, r11
je 0x14003756f
mov rcx, qword [rsi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov edx, dword [rsi + 0xc]
mov rcx, r13
call fcn.14003ce7c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
jmp 0x14003653d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
cmp rcx, r10
je 0x14003b66e
jmp 0x140035c04
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
mov eax, 3
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], al
call fcn.140035770
xor r10d, r10d
cmp rax, r10
je 0x14003756f
mov byte [rax + 2], r15b
mov ecx, dword [rsi + 8]
mov byte [rax + 4], r15b
mov dword [rax + 0x2c], ecx
lea rcx, [0x140123e64]
mov qword [rax + 0x38], rcx
jmp 0x14003653d
movsxd rax, dword [rsi + 4]
mov rdx, qword [r11 + 0x78]
mov rcx, r11
mov rdx, qword [rdx + rax*8]
call fcn.1400317d0
mov r12, qword [rsp + 0x340]
movsxd r11, dword [rsi + 4]
mov rax, qword [r12 + 0x78]
xor r10d, r10d
mov qword [rax + r11*8], r10
jmp 0x140036538
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov r15d, r10d
mov r12, qword [rax + rcx*8]
mov ecx, 2
mov byte [r12 + 2], r10b
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
cmp byte [r12 + 4], r10b
je 0x140038a04
movsxd rbx, dword [rsi + 0xc]
imul rbx, rbx, 0x38
add rbx, r14
movzx r13d, word [rbx + 8]
mov al, r13b
and al, 0x2e
cmp al, cl
jne 0x140038932
xor edx, edx
mov rcx, rbx
call fcn.1400358a0
mov rcx, rbx
call fcn.14002f104
movzx edx, word [rbx + 8]
mov word [rbx + 8], r13w
mov r14, rax
test dl, 0x24
jne 0x1400389c6
mov eax, 8
test al, dl
jne 0x140038996
lea ebx, [rax - 7]
test bl, dl
jne 0x14003af97
cmp ebp, 0x18
jge 0x14003af97
mov rcx, qword [r12 + 0x38]
lea rdx, [rsp + 0x54]
call fcn.140027e14
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x140038b5e
mov r12, qword [rsp + 0x340]
jmp 0x140036822
movsd xmm1, qword [rbx]
pxor xmm0, xmm0
mov ebx, 1
cvtsi2sd xmm0, r14
comisd xmm1, xmm0
jae 0x1400389b7
test bl, bpl
je 0x1400389cb
sub ebp, ebx
jmp 0x1400389cb
comisd xmm1, xmm0
jbe 0x1400389cb
test bl, bpl
jne 0x1400389cb
add ebp, ebx
jmp 0x1400389cb
mov ebx, 1
mov rcx, qword [r12 + 0x38]
lea rax, [rsp + 0x54]
xor r9d, r9d
mov r8, r14
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140027e70
xor r10d, r10d
mov qword [r12 + 0x58], r14
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038989
mov r14, qword [rsp + 0x48]
jmp 0x140038aa4
mov rax, qword [r12 + 0x38]
mov ebx, 1
lea rdx, [rsp + 0xf0]
test byte [rax + 3], cl
mov rax, qword [r12 + 0x40]
mov byte [rsp + 0x106], r10b
mov qword [rsp + 0xf0], rax
movzx eax, word [rsi + 0x10]
cmovne r15d, ebx
mov word [rsp + 0x100], ax
mov eax, ebp
and al, bl
neg al
movsxd rax, dword [rsi + 0xc]
sbb cl, cl
xor r9d, r9d
xor r8d, r8d
and cl, 0xfe
add cl, bl
imul rax, rax, 0x38
add rax, r14
mov byte [rsp + 0x102], cl
mov qword [rsp + 0xf8], rax
mov rcx, qword [r12 + 0x38]
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
call fcn.140027e70
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038989
cmp r15d, r10d
je 0x140038aa4
cmp byte [rsp + 0x106], r10b
je 0x140038b5e
cmp ebp, 0x18
mov eax, dword [rsp + 0x54]
jl 0x140038b0a
cmp eax, r10d
jl 0x140038ac3
jne 0x140038ab9
cmp ebp, 0x19
je 0x140038ac3
mov dword [rsp + 0x54], r10d
jmp 0x140038b69
mov rcx, qword [r12 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], r10d
call fcn.140028450
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x140038b69
cmp eax, 0x65
jne 0x140038989
lea r15d, [rax - 0x64]
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x54], r15d
mov r12, qword [rsp + 0x38]
jmp 0x14003b66e
cmp eax, r10d
jg 0x140038b2a
jne 0x140038b16
cmp ebp, 0x16
je 0x140038b2a
mov rax, qword [r12 + 0x38]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rsp + 0x54], ecx
jmp 0x140038b5e
mov rcx, qword [r12 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], r10d
call fcn.1400285ac
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x140038b69
cmp eax, 0x65
jne 0x140038989
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x54], ebx
cmp dword [rsp + 0x54], r10d
jne 0x14003afa4
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
cmp r15d, r10d
je 0x140035f3a
add rsi, 0x18
jmp 0x140035f3a
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rsi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x140035c04
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne case.0x140035ba8.86
movsxd rbx, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
cmp dword [rsi + 0x10], r10d
jle 0x140038c25
mov rax, qword [rbp + 0x40]
lea rdi, [rsp + 0x160]
mov r12, r10
mov qword [rsp + 0x160], rax
movzx eax, word [rsi + 0x10]
mov qword [rsp + 0x168], rbx
mov word [rsp + 0x170], ax
jmp 0x140038c79
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140038c3d
mov rcx, rbx
call fcn.14002ede4
xor r10d, r10d
jmp 0x140038c40
mov eax, r10d
cmp eax, r10d
jne 0x14003756f
mov rcx, qword [rbp + 0x40]
call fcn.140032ab0
mov r12, rax
mov rdi, rax
xor eax, eax
cmp r12, rax
je 0x14003756f
mov r8, qword [rbx + 0x10]
mov edx, dword [rbx + 0xc]
mov rcx, qword [rbp + 0x40]
mov r9, r12
call fcn.140032b08
xor r10d, r10d
mov byte [rdi + 0x12], r10b
cmp byte [rsi], 0x1b
mov ebx, r10d
jne 0x140038cb0
mov edx, r10d
cmp r10w, word [rdi + 0x10]
jae 0x140038cb0
mov rcx, qword [rdi + 8]
add rcx, 8
test byte [rcx], r15b
jne 0x140038cad
movzx eax, word [rdi + 0x10]
add edx, r15d
add rcx, 0x38
cmp edx, eax
jl 0x140038c97
jmp 0x140038cb0
mov ebx, r15d
mov rcx, qword [rbp + 0x38]
lea rax, [rsp + 0xd4]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140027e70
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp r12, r10
je 0x140038ceb
mov rdx, r12
mov rcx, r13
call fcn.140014878
xor r10d, r10d
cmp edi, r10d
jne 0x140036815
mov eax, dword [rsp + 0xd4]
mov ecx, r10d
mov byte [rbp + 3], r10b
cmp eax, r10d
mov dword [rbp + 0x2c], eax
mov eax, r15d
sete cl
mov dword [rbp + 0x28], r10d
sub al, cl
mov byte [rbp + 2], al
cmp byte [rsi], 0x1d
jne 0x140038d2f
cmp ecx, r10d
mov r12, qword [rsp + 0x38]
jne 0x14003b66e
jmp 0x1400369c9
cmp ebx, r10d
jne 0x140038b00
mov r12, qword [rsp + 0x38]
cmp ecx, r10d
je 0x14003b66e
jmp 0x1400369c9
movsxd rdx, dword [rsi + 0xc]
imul rdx, rdx, 0x38
add rdx, r14
test byte [rdx + 8], 0x24
jne case.0x140035ba8.31
lea rcx, [rsp + 0x218]
mov r8d, 0x38
call sub.msvcrt.dll_memcpy
movzx r11d, word [rsp + 0x220]
test bl, r11b
jne 0x140038dc2
mov eax, 8
test al, r11b
jne 0x140038da3
mov eax, 2
test al, r11b
je 0x140038db9
lea rcx, [rsp + 0x218]
mov edx, r15d
call fcn.1400358a0
jmp 0x140038db0
lea rcx, [rsp + 0x218]
call fcn.14002f1e0
mov r11w, word [rsp + 0x220]
test bl, r11b
je 0x14003b66e
mov rbp, qword [rsp + 0x218]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x140038de3
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
mov rbp, qword [rax + r14]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
mov rbx, qword [rax + rcx*8]
lea rax, [rsp + 0xa8]
mov r8, rbp
mov rcx, qword [rbx + 0x38]
xor edx, edx
mov dword [rsp + 0xa8], r10d
mov qword [rsp + 0x20], rax
call fcn.140027e70
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa8]
mov qword [rbx + 0x58], rbp
mov byte [rbx + 2], r10b
mov dword [rbx + 0x28], r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x2c], eax
cmp eax, r10d
je 0x1400369c0
cmp dword [rsi + 8], r10d
jne 0x14003b66e
mov ecx, 0x159cf
call fcn.140082d0c
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov edi, eax
jmp 0x1400369c0
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
movsxd rdx, dword [rsi + 4]
mov r11, qword [rsp + 0x340]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r15
jmp 0x140035d50
mov rbx, r10
mov rdx, rsi
mov rcx, r11
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x50], r10d
call fcn.140035a88
movsxd rdx, dword [rsi + 4]
mov r13, rax
mov rax, qword [rsp + 0x340]
mov rcx, qword [rax + 0x78]
mov ebp, 2
mov r12, qword [rcx + rdx*8]
test byte [r12 + 8], bpl
jne 0x140038f4f
mov rcx, qword [r12 + 0x38]
lea rdx, [rsp + 0x50]
call fcn.140027e14
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
cmp dword [rsp + 0x50], r10d
je 0x140038f13
mov rax, qword [rsp + 0x340]
mov rbx, r15
mov qword [rsp + 0x60], rbx
jmp 0x140038f52
mov rbx, qword [r12 + 0x38]
mov rcx, rbx
call fcn.14002759c
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x60], rbx
jl 0x140038f47
or dword [r12 + 8], ebp
jmp 0x140038f4f
add rbx, r15
mov qword [rsp + 0x60], rbx
xor r10d, r10d
movsxd rdx, dword [rsi + 0xc]
cmp edx, r10d
je 0x140038fee
mov rax, qword [rax + 0x100]
cmp rax, r10
je 0x140038f8a
mov rcx, qword [rax + 8]
jmp 0x140038f78
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp rcx, r10
jne 0x140038f71
mov rbp, rdx
imul rbp, rbp, 0x38
add rbp, qword [rax + 0x20]
jmp 0x140038f94
mov rbp, rdx
imul rbp, rbp, 0x38
add rbp, r14
mov rcx, rbp
call fcn.14002f104
mov ecx, 0x3e40
and word [rbp + 8], cx
mov ecx, 4
mov qword [rbp], rax
or word [rbp + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003b8a2
mov ecx, 2
test byte [r12 + 8], cl
jne 0x14003b8a2
inc rax
cmp rbx, rax
cmovl rbx, rax
xor r10d, r10d
mov qword [rbp], rbx
mov rbp, rcx
mov qword [rsp + 0x60], rbx
test byte [r12 + 8], bpl
je 0x140039067
mov ebp, r10d
lea rdx, [rsp + 0x60]
mov ecx, 8
call fcn.14001677c
mov rbx, qword [rsp + 0x60]
mov rcx, qword [r12 + 0x38]
movabs rax, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and rbx, rax
lea rax, [rsp + 0x50]
add rbx, r15
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rsp + 0x60], rbx
call fcn.140027e70
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
cmp dword [rsp + 0x50], r10d
jne 0x140039067
add ebp, r15d
cmp ebp, 0x64
jl 0x140038ff8
lea edi, [r10 + 0xd]
jmp 0x140036815
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
mov qword [r13], rbx
jmp 0x14003850a
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
movsxd rdx, dword [rsi + 8]
imul rdx, rdx, 0x38
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
add rdx, r14
imul rax, rax, 0x38
cmp byte [rsi + 1], 0xfa
mov r8, qword [rax + r14]
mov qword [rsp + 0x180], r8
jne 0x1400390cb
cmp qword [r13 + 0x120], r10
je 0x1400390cb
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rbp, qword [rsi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
jmp 0x1400390d1
mov rbp, r10
mov r12, r10
test byte [rsi + 2], r15b
je 0x1400390db
add dword [r11 + 0x3c], r15d
mov eax, Ordinal_36
test byte [rsi + 2], al
je 0x1400390e9
mov qword [r13 + 0x38], r8
mov rax, qword [rdx + 0x10]
mov r8w, word [rsi + 2]
mov qword [rsp + 0x188], rax
mov eax, dword [rdx + 0xc]
mov dword [rsp + 0x19c], eax
mov eax, 0x10
test al, r8b
je 0x140039114
mov r9d, dword [rbx + 0x2c]
jmp 0x140039117
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14003912d
mov eax, dword [rdx]
mov dword [rsp + 0x1a0], eax
jmp 0x140039135
mov dword [rsp + 0x1a0], r10d
mov qword [rsp + 0x178], r10
mov rcx, qword [rbx + 0x38]
lea rdx, [rsp + 0x178]
and r8d, 0xa
call fcn.14002beac
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
cmp eax, r10d
jne 0x140036815
cmp rbp, r10
je 0x140035f1e
mov al, byte [rsi + 2]
mov r9, qword [rbp]
mov rcx, qword [r13 + 0x118]
lea ebx, [r10 + 4]
mov r8, r12
and al, bl
neg al
mov rax, qword [rsp + 0x180]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r13 + pe_nt_image_headers64]
jmp 0x140036693
cmp byte [rsi + 1], 0xfa
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
mov r14d, dword [rsi + 8]
jne 0x14003920e
cmp qword [r13 + 0x120], r10
je 0x14003920e
mov rax, qword [r13 + 0x20]
movsx rcx, byte [rbp + 1]
mov r12, qword [rsi + 0x10]
shl rcx, 5
mov r13, qword [rcx + rax]
mov eax, 2
test byte [rsi + 2], al
je 0x140039214
cmp byte [rbp + 4], r10b
je 0x140039214
mov rbx, qword [rbp + 0x38]
mov rcx, rbx
call fcn.14002759c
mov r11, qword [rbx + 0x30]
mov ebx, 4
mov qword [rbp + 0x58], r11
jmp 0x140039214
mov r13, r10
mov r12, r10
mov dl, byte [rsi + 2]
mov rcx, qword [rbp + 0x38]
call fcn.14002c33c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x28], r10d
mov dword [rbp + 0x2c], r10d
cmp eax, r10d
jne 0x140036815
mov r11, qword [rsp + 0x340]
test r15b, r14b
je 0x140037bc9
add dword [r11 + 0x3c], r15d
mov r8, qword [rsp + 0x40]
xor eax, eax
mov r10, qword [r8 + 0x120]
cmp r10, rax
je 0x14003b557
mov eax, Ordinal_36
test byte [r12 + 0x40], al
jne 0x14003b557
mov rax, qword [rbp + 0x58]
mov r9, qword [r12]
mov r8, r13
mov r13, qword [rsp + 0x40]
mov edx, 9
mov qword [rsp + 0x20], rax
mov rcx, qword [r13 + 0x118]
call r10
mov r14, qword [rsp + 0x48]
jmp 0x140036693
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x78], eax
mov dword [r13 + 0x74], eax
mov dword [r11 + 0x3c], r10d
jmp case.0x140035ba8.86
movsxd rdx, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rdx, rdx, 0x38
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rax + rcx*8]
lea r9, [rsp + 0x98]
add rdx, r14
mov dword [rsp + 0x98], r10d
call fcn.14003e2b8
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
cmp dword [rsp + 0x98], r10d
jmp 0x140037061
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
imul rbx, rbx, 0x38
mov rcx, qword [rax + rcx*8]
add rbx, r14
mov rax, qword [rcx + 0x38]
cmp byte [rax + 0x58], r10b
je 0x14003934a
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov edi, dword [rax + 0x14]
mov rbp, qword [rax + 0x28]
jmp 0x140039354
mov rax, qword [rax + 0x38]
mov edi, dword [rax]
lea rbp, [rax + 0x10]
cmp dword [rbx + 0x20], edi
jge 0x14003936b
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.14002ec0c
xor r10d, r10d
jmp 0x14003937b
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0x2d
mov qword [rbx + 0x10], rax
mov eax, r10d
cmp eax, r10d
jne 0x14003b8ac
mov rcx, qword [rbx + 0x10]
mov eax, 0x3e40
movsxd r8, edi
and word [rbx + 8], ax
mov eax, 0x10
mov rdx, rbp
or word [rbx + 8], ax
mov dword [rbx + 0xc], edi
call sub.msvcrt.dll_memcpy
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov rax, qword [r11 + 0x78]
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x140035f2b
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
movsxd rdx, dword [rsi + 4]
mov r12, qword [rsp + 0x340]
mov rcx, qword [r12 + 0x78]
mov rbx, rax
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.14002759c
mov r8d, dword [rdi + 0x40]
cmp r8d, dword [r13 + 0x7c]
ja 0x14003b0b5
mov r9, rbx
xor edx, edx
mov rcx, rdi
call fcn.14002fa48
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003681d
cmp dword [rsi + 0xc], r10d
jne 0x140035f1e
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140035f1e
mov rcx, rbx
call fcn.14002ed88
xor r10d, r10d
cmp eax, r10d
jne 0x14003756f
jmp 0x140035f1e
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov r11, qword [rsp + 0x340]
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r11 + 0x78]
xor r10d, r10d
mov rbp, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x140039493
mov word [rax + 8], r15w
jmp 0x140035f2b
cmp byte [rbx + 3], r10b
je 0x1400394a2
mov rax, qword [rbx + 0x58]
jmp 0x140039557
mov eax, 2
cmp byte [rbx], al
jne 0x1400394f7
mov rcx, qword [rbx + 0x38]
lea rdx, [rsp + 0xe0]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r12, qword [rsp + 0x340]
mov rdx, rbx
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140033a5c
xor r10d, r10d
cmp edi, r10d
jne 0x14003681d
mov rax, qword [rsp + 0xe0]
mov r11, r12
mov r12, qword [rsp + 0x38]
jmp 0x14003955f
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14003951b
mov rcx, rbx
call fcn.140032834
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x140039523
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140036815
cmp byte [rbx + 2], r10b
je 0x14003953c
mov word [rbp + 8], r15w
jmp 0x140035f2b
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.14002759c
mov rax, qword [rbx + 0x30]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov qword [rsp + 0xe0], rax
mov qword [rbp], rax
jmp 0x140035f2b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r15b
mov dword [rbx + 0x28], r10d
cmp byte [rbx], r10b
jne 0x140035f3a
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.140014820
xor r10d, r10d
mov byte [rbx], r15b
mov qword [rbx + 0x18], r10
jmp 0x1400369c9
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov dword [rsp + 0xa4], r10d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp bpl, 0x82
jne 0x1400395cc
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r10b
je 0x140035f3a
lea rdx, [rsp + 0xa4]
call fcn.140027e14
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa4]
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov byte [rbx + 2], al
cmp edi, r10d
jne 0x140036815
cmp dword [rsi + 8], r10d
jle 0x1400369c9
cmp eax, r10d
jmp 0x140038d24
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140027b90
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140039653
mov rcx, rbx
mov ebp, r10d
mov dword [rsp + 0x8c], r10d
call fcn.140027d24
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x140039678
mov eax, 0x10
cmp edi, eax
jne 0x140039671
mov ebp, r15d
mov dword [rsp + 0x8c], r15d
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x140039678
mov ebp, dword [rsp + 0x8c]
cmp edi, r10d
jne 0x140036815
cmp ebp, r10d
jne 0x14003b66e
cmp byte [rbx], r10b
jne 0x1400369c9
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], r10b
je 0x1400369c9
movsx r9d, byte [rbx + 0x54]
movzx ecx, word [rax + 0x18]
mov r8b, r10b
cmp r9d, r10d
jle 0x1400396d5
movzx eax, r8b
add r8b, r15b
mov rdx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rdx + 0x18]
imul rcx, rax
movzx eax, r8b
cmp eax, r9d
jl 0x1400396b5
cmp rcx, r10
jl 0x1400369c9
call fcn.140017f88
movsx ecx, ax
cmp ecx, dword [rsi + 0xc]
jge 0x1400369c9
mov dword [rsp + 0x8c], r15d
jmp 0x14003b66e
add dword [r11 + 0xdc], r15d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov ebp, r15d
mov r12, qword [rax + rcx*8]
mov rbx, qword [r12 + 0x38]
cmp byte [r12], r15b
jne 0x14003977b
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp byte [rbx + 0x58], r10b
jne 0x14003974f
lea rdx, [rbx + 0x38]
cmp qword [rdx], r10
je 0x1400397c2
lea rcx, [rbx + 0x60]
mov ebp, r10d
call fcn.14003d360
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400397c2
mov rcx, rbx
call fcn.14003d858
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x1400397c2
mov rcx, rbx
call fcn.14003e144
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov ebp, r10d
jmp 0x1400397c2
mov rcx, rbx
call fcn.140027b90
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x1400397a7
mov rcx, rbx
mov ebp, r10d
call fcn.140027d24
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400397b8
mov eax, 0x10
cmp edi, eax
jne 0x1400397b8
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
cmp edi, r10d
jne 0x140036815
mov byte [r12 + 2], bpl
cmp ebp, r10d
jmp 0x140038d1f
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
mov rdi, qword [rbp + 0x38]
cmp byte [rdi + 0x58], r10b
je 0x140039825
mov rcx, qword [rdi + 0x18]
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0xa0], r10d
call fcn.14003d6a0
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140039889
cmp dword [rsp + 0xa0], r10d
je 0x140039889
lea edi, [r10 + 0x65]
jmp 0x140039864
mov rdx, qword [rdi + 0x38]
mov rax, qword [rdx + 8]
mov qword [rdi + 0x38], rax
mov qword [rdx + 8], r10
cmp qword [rdi + 0x40], r10
jne 0x140039856
mov rbx, qword [rdx + 8]
mov rcx, r13
call fcn.140014878
xor r10d, r10d
mov rdx, rbx
cmp rbx, r10
jne 0x14003983b
lea ebx, [r10 + 4]
mov rax, qword [rdi + 0x38]
neg rax
sbb edi, edi
not edi
and edi, 0x65
mov dword [rsp + 0x30], edi
jmp 0x140039889
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [rsi + 0xc]
mov rbp, qword [rax + rcx*8]
mov rcx, qword [rbp + 0x38]
call qword [rsi + 0x10]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x28], r10d
cmp edi, r10d
jne 0x1400398af
mov r11, qword [rsp + 0x340]
mov byte [rbp + 2], r10b
movzx eax, word [rsi + 2]
add dword [r11 + rax*4 + 0xd4], r15d
jmp case.0x140035ba8.11
cmp edi, 0x65
jne 0x140036815
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov byte [rbp + 2], r15b
jmp 0x14003a20d
movsxd rbx, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
test byte [rsi + 2], r15b
je 0x1400398ea
add dword [r11 + 0x3c], r15d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140039904
mov rcx, rbx
call fcn.14002ede4
xor r10d, r10d
mov edi, eax
jmp 0x140039907
mov edi, r10d
cmp edi, r10d
jne 0x140036815
cmp byte [rsi], 0x83
jne 0x140039925
mov rdx, rbx
mov rcx, rbp
call fcn.14003d9c4
jmp 0x140038e55
movsxd rax, dword [rbx + 0xc]
mov r8w, word [rsi + 2]
mov qword [rsp + 0x290], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x288], rax
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x2a0], rax
movzx eax, word [rsi + 0x10]
mov word [rsp + 0x2a8], ax
mov eax, 0x10
test al, r8b
je 0x140039971
mov r9d, dword [rbp + 0x2c]
jmp 0x140039974
mov r9d, r10d
mov rcx, qword [rbp + 0x38]
lea rdx, [rsp + 0x288]
and r8d, 0xa
call fcn.14002beac
xor r10d, r10d
mov dword [rbp + 0x28], r10d
jmp 0x140038e58
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rsp + 0x148]
mov rbx, qword [rax + rcx*8]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rbx + 0x40]
mov rbp, qword [rbx + 0x38]
mov byte [rsp + 0x15a], r10b
mov qword [rsp + 0x148], rax
movzx eax, word [rsi + 0xc]
mov rcx, rbp
mov word [rsp + 0x158], ax
movsxd rax, dword [rsi + 8]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
call fcn.140027e70
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
cmp dword [rsp + 0xe8], r10d
jne 0x140039a33
mov dl, 4
mov rcx, rbp
call fcn.14002c33c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
mov dword [rbx + 0x28], r10d
mov dword [rbx + 0x2c], r10d
jmp 0x1400369c9
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x140039a68
mov rcx, rbx
call fcn.140032834
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x140039a70
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140036815
cmp byte [rbx + 2], r10b
jne 0x140039b0f
mov rdx, qword [rbx + 0x38]
lea r8, [rsp + 0x90]
mov rcx, r13
mov qword [rsp + 0x90], r10
call fcn.140033820
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
cmp byte [rsi], 0x86
jne 0x140039aef
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x90]
mov byte [rdx + 2], r10b
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r15b
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x20], rax
jmp 0x140035f2b
mov rcx, qword [rsp + 0x340]
mov rdx, rsi
call fcn.140035a88
mov rcx, qword [rsp + 0x90]
mov qword [rax], rcx
jmp 0x14003661f
movsxd rcx, dword [rsi + 8]
imul rcx, rcx, 0x38
add rcx, r14
jmp 0x140036f61
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
cmp bpl, 0x27
mov rdx, qword [rax + rcx*8]
lea r9, [rsp + 0x58]
lea r8, [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov rax, qword [rdx + 0x40]
mov rcx, r13
mov dword [rsp + 0x58], r10d
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
movzx eax, word [rsi + 0x10]
mov word [rsp + 0x140], ax
sbb al, al
mov byte [rsp + 0x142], al
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x138], rax
call fcn.140033970
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x58]
test byte [rsi], r15b
je 0x140039b90
neg eax
jmp 0x140039b93
add eax, r15d
xor r10d, r10d
cmp edi, r10d
jne 0x140036815
cmp eax, r10d
jg 0x14003b66e
jmp 0x14003653d
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov rbx, rax
mov word [rax + 8], r15w
mov ecx, dword [r13 + 0xd8]
add ecx, r15d
cmp dword [r13 + 0xcc], ecx
jg 0x14003b8c6
movsxd r12, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
xor eax, eax
mov dword [rsp + 0xac], eax
mov rax, qword [r13 + 0x20]
mov rbp, r12
shl rbp, 5
lea r8, [rsp + 0xac]
mov rcx, qword [rax + rbp + 8]
call fcn.14002cc8c
movsxd r8, dword [rsp + 0xac]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, 4
mov word [rbx + 8], ax
mov qword [rbx], r8
cmp edi, r10d
jne 0x140036815
cmp r8d, r10d
je 0x140035f1e
mov rdx, qword [r13 + 0x20]
mov r9d, dword [rsi + 4]
mov rax, qword [rdx + rbp + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x140039c57
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x38], r8d
jne 0x140039c54
mov dword [rax + 0x38], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x140039c46
mov rax, qword [rdx + rbp + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x140039c78
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], r8d
jne 0x140039c75
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x140039c67
lea r8d, [r15 + r12]
mov byte [rsp + 0x350], r8b
jmp 0x140035f1e
mov eax, dword [rsi + 0xc]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 4]
neg eax
lea rax, [rsp + 0xb0]
mov dword [rsp + 0xb0], r10d
sbb r8, r8
and r8, rax
movsxd rax, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002cc08
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp dword [rsi + 0xc], r10d
je 0x140039cf7
movsxd rax, dword [rsp + 0xb0]
add dword [r11 + 0x3c], eax
cmp dword [rsi + 0xc], r10d
jle 0x140039cf7
movsxd rcx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add qword [rcx + r14], rax
cmp edi, r10d
jne 0x140036815
jmp 0x140036545
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r15b
jne 0x140039d27
mov rdx, qword [rcx + 0x38]
mov rcx, r13
call fcn.14003d088
jmp 0x140035d7c
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14002cc08
jmp 0x14003882d
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov r8d, dword [rsi + 0xc]
shl rdx, 5
mov rbx, rax
mov rcx, qword [rdx + rcx + 8]
xor eax, eax
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], eax
call fcn.14002c740
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140036815
movsxd rax, dword [rsp + 0x68]
mov qword [rbx], rax
jmp 0x1400369c9
add byte [r13 + 0x6a], r15b
mov rdx, qword [rsi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r10
call fcn.14005ba54
dec byte [r13 + 0x6a]
jmp 0x14003882d
mov rcx, qword [rsi + 0x10]
movsxd rbx, dword [rsi + 4]
cmp rcx, r10
jne 0x140039e1f
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1400526d4
mov r8, qword [rsp + 0x340]
and dword [r13 + 0x2c], 0xffffffef
add r8, 0xa8
mov r9d, r15d
mov edx, ebx
mov rcx, r13
call fcn.14005fd74
or dword [r13 + 0x2c], r15d
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffc
mov r12, qword [rsp + 0x38]
mov edi, eax
xor r10d, r10d
mov dword [rsp + 0x30], eax
jmp 0x140039f00
mov r8, qword [r13 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x118], ebx
mov dword [rsp + 0x120], r10d
mov qword [rsp + 0x20], rcx
mov rax, rbx
lea r9, [0x1400e35e8]
shl rax, 5
lea rdx, [0x1400e35f8]
mov rcx, r13
mov r8, qword [rax + r8]
call fcn.140016568
xor ebp, ebp
mov rbx, rax
cmp rax, rbp
je 0x14003b8e3
lea r9, [rsp + 0x108]
lea r8, [fcn.14005fb7c]
mov rdx, rax
mov rcx, r13
mov byte [r13 + 0xb5], r15b
mov dword [rsp + 0x11c], ebp
mov dword [rsp + 0x124], ebp
mov qword [rsp + 0x20], rbp
call fcn.14005ba54
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, ebp
jne 0x140039ee3
mov edi, dword [rsp + 0x11c]
mov dword [rsp + 0x30], edi
cmp edi, ebp
jne 0x140039ee3
cmp dword [rsp + 0x124], ebp
jne 0x140039ee3
mov ecx, 0x15f51
call fcn.140082d0c
mov edi, eax
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov rcx, r13
call fcn.140014878
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov byte [r13 + 0xb5], r10b
cmp edi, r10d
jne 0x14003b8e8
jmp 0x140035f2b
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.14004abd8
jmp 0x14003882d
movsxd rcx, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
xor r8d, r8d
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.14001837c
xor r10d, r10d
cmp rax, r10
je 0x140039f63
cmp qword [r13 + 0x298], r10
jne 0x140039f55
add dword [rax + 0x3c], 0xffffffff
jne 0x140039f63
mov rdx, rax
mov rcx, r13
call fcn.14004c330
xor r10d, r10d
or dword [r13 + 0x2c], r15d
jmp 0x14003653d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.14001837c
xor r10d, r10d
mov rdx, rax
cmp rax, r10
je 0x140039f63
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x140039faf
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x140039fd8
cmp rcx, r10
je 0x140039fd8
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x140039fc5
mov rcx, rax
cmp rax, r10
jne 0x140039fb4
cmp rcx, r10
je 0x140039fd8
cmp qword [rcx + 0x28], rdx
jne 0x140039fd8
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, r13
call fcn.14004c048
jmp 0x140039f60
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.14001837c
xor r10d, r10d
mov rbx, rax
cmp rax, r10
je 0x1400369c9
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14003a053
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.1400182e0
mov rdx, qword [rax + 0x10]
xor eax, eax
cmp rdx, rax
je 0x14003a053
add rdx, 0x68
jmp 0x14003a044
lea rdx, [rax + 0x40]
mov rax, qword [rdx]
cmp rax, rbx
jne 0x14003a040
mov rcx, qword [rax + 0x40]
mov qword [rdx], rcx
mov rdx, rbx
mov rcx, r13
call fcn.140069e80
or dword [r13 + 0x2c], r15d
jmp 0x1400361d8
movsxd rbp, dword [rsi + 0xc]
movzx eax, word [rsi + 2]
movsxd rbx, dword [rsi + 4]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
mov rcx, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
mov r9d, dword [rbp + r14]
lea r8, [rsp + 0xd8]
shl rax, 5
add r9d, r15d
mov rcx, qword [rax + rcx + 8]
mov qword [rsp + 0x20], r8
mov r8d, dword [rsi + 8]
add rdx, 4
add rbx, r14
call fcn.14002dbb8
mov rcx, rbx
mov r12, rax
call fcn.14002f3f8
mov ecx, dword [rsp + 0xd8]
xor r10d, r10d
cmp ecx, r10d
je 0x14003a0ff
cmp r12, r10
je 0x14003756f
dec ecx
lea rax, [fcn.140014820]
mov r9b, r15b
movsxd rdx, ecx
or r8d, 0xffffffff
mov rcx, rbx
sub qword [rbp + r14], rdx
mov rdx, r12
mov qword [rsp + 0x20], rax
call fcn.14002f6f4
xor r10d, r10d
movzx edx, byte [rsp + 0x348]
mov eax, 2
mov ecx, edx
test byte [rbx + 8], al
je 0x140036336
movzx eax, byte [rbx + 0xa]
cmp eax, edx
je 0x140036336
mov dl, cl
mov rcx, rbx
call fcn.140016968
jmp 0x14003661f
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 8]
mov eax, 0x10
imul rbx, rbx, 0x38
add rbx, r14
imul rbp, rbp, 0x38
test byte [rbx + 8], al
jne 0x14003a163
mov rcx, rbx
call fcn.14002f4a0
xor r11d, r11d
cmp eax, r11d
jne 0x14003756f
mov rdx, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001ca84
jmp 0x1400361d8
movsxd rbp, dword [rsi + 4]
mov eax, 0x10
imul rbp, rbp, 0x38
add rbp, r14
test byte [rbp + 8], al
je 0x14003a25e
mov rbx, qword [rbp + 0x10]
mov eax, 2
test byte [rbx + 0x32], al
jne 0x14003a1bc
test byte [rbx + 0x32], r15b
jne 0x14003a1b3
mov rcx, qword [rbx + 0x10]
call fcn.14001cb20
xor r10d, r10d
mov qword [rbx + 0x10], rax
mov eax, 3
or word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
cmp rax, r10
je 0x14003a25e
mov rbp, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
cmp rax, r10
jne 0x14003a1e4
mov rcx, rbx
call fcn.14001c994
xor r10d, r10d
movsxd rax, dword [rsi + 0xc]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x14003a250
mov rdx, rbp
mov rcx, rax
call fcn.14002f474
xor r10d, r10d
mov ebx, 4
mov r11, qword [rsp + 0x340]
mov eax, dword [r13 + 0x160]
cmp eax, r10d
je 0x140036545
mov al, byte [r13 + 0x61]
neg al
sbb edi, edi
and edi, 0xfffffffe
add edi, 9
mov ecx, edi
mov dword [r11 + 0x38], edi
call fcn.140081230
lea rdx, [0x1400e2b18]
mov rcx, r11
mov r8, rax
jmp 0x14003b948
mov ebx, 4
mov qword [rax], rbp
mov word [rax + 8], bx
jmp 0x14003a20d
mov rcx, rbp
call fcn.14002f3f8
xor r10d, r10d
jmp 0x14003b137
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 0xc]
mov r12d, dword [rsi + 0x10]
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003a2a3
mov rcx, rbx
call fcn.14002f4a0
xor r10d, r10d
cmp eax, r10d
jne 0x14003756f
cmp r12d, r10d
je 0x14003a2ce
mov r8, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
mov edx, r12d
call fcn.14001ccec
xor r10d, r10d
cmp eax, r10d
jne 0x140038b00
cmp r12d, r10d
jl 0x140035f1e
mov rdx, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001ca84
jmp 0x14003661f
movsxd rbx, dword [rsi + 0xc]
mov r14, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x48]
cmp word [rsi + 2], r10w
je 0x14003a321
mov rax, qword [r11 + 0x100]
mov rcx, qword [r14 + 0x20]
cmp rax, r10
je 0x14003a321
cmp qword [rax + 0x38], rcx
je 0x14003a318
mov rax, qword [rax + 8]
cmp rax, r10
jne 0x14003a309
cmp rax, r10
jne 0x14003b68d
mov eax, dword [r13 + 0xa4]
cmp dword [r11 + 0x110], eax
jge 0x14003b914
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003a487
mov ecx, dword [r14 + 0x10]
mov eax, dword [r14 + 0xc]
lea ebp, [rcx + rax]
cmp ecx, r10d
jne 0x14003a356
add ebp, r15d
mov eax, dword [r14 + 8]
mov r8d, 7
lea ecx, [rbp + 2]
add eax, r8d
cdq
imul ecx, ecx, 7
add ecx, dword [r14 + 0x10]
and edx, r8d
add eax, edx
sar eax, 3
lea r13d, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rdx, r13d
call fcn.140014a78
xor r10d, r10d
mov r12, rax
cmp rax, r10
je 0x14003756a
mov eax, 0x2400
test word [rbx + 8], ax
jne 0x14003a3a7
cmp dword [rbx + 0x20], r10d
je 0x14003a3b2
mov rcx, rbx
call fcn.14002f060
xor r10d, r10d
mov r11, qword [rsp + 0x340]
sub rsi, qword [rsp + 0x38]
mov dword [rbx + 0xc], r13d
mov r13, qword [rsp + 0x40]
mov qword [rbx + 0x10], r12
mov eax, 0x410
mov word [rbx + 8], ax
lea rax, [0x140030fec]
movsxd rcx, ebp
mov qword [rbx + 0x30], rax
mov qword [r12], r11
mov dword [r12 + 0x60], ebp
mov eax, dword [r14 + 0x10]
add rcx, 2
mov dword [r12 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx, rcx, 0x38
add rcx, r12
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x54], edx
mov rax, qword [r11 + 0x68]
mov qword [r12 + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [r12 + 0x5c], eax
mov rax, qword [r11 + 0x78]
mov qword [r12 + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [r12 + 0x50], eax
mov rax, qword [r11 + 0x88]
mov qword [r12 + 0x10], rax
mov eax, dword [r11 + 0x90]
mov dword [r12 + 0x58], eax
mov rax, qword [r14 + 0x20]
mov qword [r12 + 0x38], rax
lea rax, [r12 + 0x70]
cmp rax, rcx
je 0x14003a48b
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r13
add rax, 0x38
cmp rax, rcx
jne 0x14003a474
jmp 0x14003a48b
mov r12, qword [rbx + 0x10]
add dword [r11 + 0x110], r15d
mov rax, qword [r11 + 0x100]
lea rdx, [r12 + 0x70]
mov qword [r12 + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x48], rdx
mov qword [r12 + 0x40], rax
mov eax, dword [r11 + 0x3c]
mov r8d, 7
mov dword [r12 + 0x68], eax
mov rax, qword [r11]
mov ecx, dword [rax + 0x74]
mov dword [r12 + 0x6c], ecx
mov rax, qword [r11 + 0x120]
mov qword [r12 + 0x48], rax
mov qword [r11 + 0x68], rdx
mov qword [r11 + 0x120], r10
mov dword [r11 + 0x3c], r10d
mov qword [r11 + 0x100], r12
movsxd rcx, dword [r12 + 0x60]
mov dword [r11 + 0x28], ecx
movzx eax, word [r12 + 0x64]
mov dword [r11 + 0x2c], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r11 + 0x78], rcx
movsxd rax, dword [r14 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [r12 + 0x30], rcx
mov eax, dword [r14 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.msvcrt.dll_memset
mov r12, qword [r14]
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0x88], r12
mov eax, dword [r14 + 8]
mov r14, qword [rsp + 0x48]
mov dword [r11 + 0x90], eax
mov qword [rsp + 0x38], r12
lea rsi, [r12 - 0x18]
xor r10d, r10d
mov ebx, 4
jmp 0x14003a215
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov r12, qword [rsp + 0x340]
mov r9, qword [r12 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, rax
add r8d, dword [rsi + 4]
movsxd rdx, r8d
mov r8d, 0x1000
imul rdx, rdx, 0x38
add rdx, qword [r9 + 0x20]
call fcn.14002f5cc
jmp 0x140036693
mov eax, dword [r13 + 0x30]
bt rax, 0x13
movsxd rax, dword [rsi + 8]
jae 0x14003a5d4
add qword [r13 + 0x290], rax
jmp case.0x140035ba8.86
lea rcx, [0x140000000]
cmp dword [rsi + 4], r10d
je 0x14003a5ed
add qword [r13 + 0x288], rax
jmp case.default.0x140035ba8
add qword [r11 + 0x50], rax
jmp case.default.0x140035ba8
cmp dword [rsi + 4], r10d
je 0x14003a615
cmp qword [r13 + 0x288], r10
jne case.0x140035ba8.86
cmp qword [r13 + 0x290], r10
jmp 0x1400370b6
cmp qword [r11 + 0x50], r10
jmp 0x14003a603
mov rax, qword [r11 + 0x100]
cmp rax, r10
je 0x14003a647
mov rcx, qword [rax + 8]
jmp 0x14003a634
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp rcx, r10
jne 0x14003a62d
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, qword [rax + 0x20]
jmp 0x14003a652
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
mov rcx, rbp
call fcn.14002f104
mov r15d, 0x3e40
and word [rbp + 8], r15w
or word [rbp + 8], bx
mov qword [rbp], rax
movsxd rbx, dword [rsi + 8]
imul rbx, rbx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.14002f104
and word [rbx + 8], r15w
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov ecx, 4
or word [rbx + 8], cx
mov qword [rbx], rax
xor r10d, r10d
cmp qword [rbp], rax
jge 0x140035f3a
mov qword [rbp], rax
mov rbx, rcx
jmp case.0x140035ba8.86
movsxd rcx, dword [rsi + 4]
imul rcx, rcx, 0x38
mov rdx, qword [rcx + r14]
cmp rdx, r10
jle 0x140035c04
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14003b66e
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 0xc]
mov rdx, rsi
mov rcx, r11
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
call fcn.140035a88
mov rcx, qword [rbx + r14]
xor r10d, r10d
mov r11, rax
cmp rcx, r10
mov qword [rsp + 0x70], rcx
jle 0x14003a73f
cmp qword [rbp + r14], r10
mov rdx, r10
lea rcx, [rsp + 0x70]
cmovg rdx, qword [rbp + r14]
call fcn.140017ecc
cmp eax, r10d
jne 0x14003a73f
mov rax, qword [rsp + 0x70]
mov qword [r11], rax
jmp 0x1400369c9
or qword [r11], 0xffffffffffffffff
jmp 0x1400369c9
movsxd rcx, dword [rsi + 4]
imul rcx, rcx, 0x38
mov rax, qword [rcx + r14]
cmp rax, r10
je case.0x140035ba8.86
jle 0x14003b66e
dec rax
mov qword [rcx + r14], rax
jmp 0x14003b66e
movsxd rcx, dword [rsi + 4]
movabs r8, 0x8000000000000000
imul rcx, rcx, 0x38
mov rax, qword [rcx + r14]
cmp rax, r8
jle 0x14003a791
dec rax
mov qword [rcx + r14], rax
cmp qword [rcx + r14], r10
jmp 0x1400370b6
movzx ebx, word [rsi + 2]
mov rcx, r13
lea rdx, [rbx*8 + 0x68]
call fcn.140014ae8
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003756f
mov qword [rax + 0x10], r10
lea rcx, [rax + rbx*8 + 0x30]
mov qword [rax], rcx
mov word [rcx + 8], r15w
mov qword [rcx + 0x28], r13
mov dword [rcx + 0x20], r10d
mov rcx, qword [rsi + 0x10]
mov byte [r11 + 0x28], r10b
mov qword [rax + 8], rcx
mov dword [r11 + 0x24], r10d
mov byte [r11 + 0x29], bl
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
mov r12, qword [rsp + 0x340]
mov qword [r11 + 0x18], r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r11 + 0x20], edx
mov byte [rsi + 1], 0xf0
mov qword [rsi + 0x10], r11
mov byte [rsi], Ordinal_157
jmp 0x14003a830
mov r12, qword [rsp + 0x340]
movsxd rdx, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
imul rdx, rdx, 0x38
add rdx, r14
cmp qword [rbx + 0x10], rdx
je 0x14003a889
movzx r8d, byte [rbx + 0x29]
mov qword [rbx + 0x10], rdx
sub r8d, r15d
movsxd r9, r8d
js 0x14003a889
xor r11d, r11d
lea r10, [rbx + r9*8 + 0x30]
lea r13d, [r11 + 8]
mov eax, dword [rsi + 8]
sub r9, r15
add eax, r8d
sub r8d, r15d
cdqe
imul rax, rax, 0x38
add rax, r14
mov qword [r10], rax
sub r10, r13
cmp r9, r11
jge 0x14003a862
mov r13, qword [rsp + 0x40]
jmp 0x14003a88c
xor r11d, r11d
add dword [rdx + 0xc], r15d
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
lea r8, [rbx + 0x30]
mov rcx, rbx
cmp dword [rsi + 4], r11d
je 0x14003a8aa
call qword [rax + 0x30]
jmp 0x14003a8ad
call qword [rax + Ordinal_26]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
cmp eax, r10d
je 0x140035f1e
jle 0x14003a8e5
mov rcx, qword [rbx]
mov dl, r15b
call fcn.14002fb58
lea rdx, [0x1400e2b18]
mov rcx, r12
mov r8, rax
call fcn.1400300d4
mov edi, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x30], edi
cmp byte [rbx + 0x28], r10b
je 0x14003a927
cmp dword [rsi - 0x14], r10d
je 0x14003a923
movsxd rax, dword [rsi - 0x14]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x14003a917
mov rdx, r15
mov rcx, rax
call fcn.14002f474
xor r10d, r10d
jmp 0x14003a923
mov ecx, 4
mov qword [rax], r15
mov word [rax + 8], cx
mov byte [rbx + 0x28], r10b
mov rcx, qword [rbx]
mov eax, 0x2400
test word [rcx + 8], ax
jne 0x14003a93b
cmp dword [rcx + 0x20], r10d
je 0x14003a943
call fcn.14002f060
xor r10d, r10d
mov rax, qword [rbx]
mov word [rax + 8], r15w
mov dword [rbx + 0x24], r10d
cmp edi, r10d
jne 0x14003681d
jmp 0x140035f1e
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
cmp dword [rsi + 0xc], r10d
je 0x14003a9d8
movsxd rbx, dword [rsi + 0xc]
mov rdi, qword [rsi + 0x10]
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rsp + 0x250]
imul rbx, rbx, 0x38
add rbx, r14
call sub.msvcrt.dll_memset
mov rcx, rbx
call fcn.14002f3f8
lea rcx, [rsp + 0x250]
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x260], rbp
mov qword [rsp + 0x258], rdi
call qword [rdi + Ordinal_41]
movsxd rbp, dword [rsi + 0xc]
mov edi, dword [rsp + 0x274]
mov ebx, 4
mov dword [rsp + 0x30], edi
imul rbp, rbp, 0x38
add rbp, r14
jmp 0x14003a9ea
mov rdx, qword [rsi + 0x10]
mov rcx, rbp
call fcn.14002ef74
mov edi, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
cmp edi, r10d
jne 0x14003b92b
movzx ecx, byte [rsp + 0x348]
lea eax, [r10 + 2]
test byte [rbp + 8], al
je 0x14003aa1c
movzx eax, byte [rbp + 0xa]
cmp eax, ecx
je 0x14003aa1c
mov dl, cl
mov rcx, rbp
call fcn.140016968
xor r10d, r10d
test byte [rbp + 8], 0x12
je 0x14003aa42
mov edx, dword [rbp + 0xc]
mov eax, 0x4000
test word [rbp + 8], ax
je 0x14003aa33
add edx, dword [rbp]
mov rax, qword [rbp + 0x28]
mov ecx, r10d
cmp edx, dword [rax + 0x7c]
setg cl
jmp 0x14003aa45
mov ecx, r10d
mov r11, qword [rsp + 0x340]
cmp ecx, r10d
jne 0x14003b0bd
jmp 0x140036545
mov r8d, dword [rsi + 8]
mov edx, dword [rsi + 4]
or dword [rsp + 0xc8], 0xffffffff
or dword [rsp + 0xc4], 0xffffffff
lea rax, [rsp + 0xc8]
lea r9, [rsp + 0xc4]
mov rcx, r13
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xc0], r10d
call fcn.140081c68
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003aac1
lea eax, [r10 + 5]
cmp edi, eax
jne 0x140036815
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0xc0], r15d
movsxd rbx, dword [rsi + 0xc]
mov r12d, 4
mov rbp, r10
mov ecx, 0x2400
lea r13d, [r12 - 1]
imul rbx, rbx, 0x38
add rbx, r14
movsxd rax, dword [rsp + rbp*4 + 0xc0]
test word [rbx + 8], cx
je 0x14003aaff
mov rdx, rax
mov rcx, rbx
call fcn.14002f474
mov ecx, 0x2400
jmp 0x14003ab07
mov qword [rbx], rax
mov word [rbx + 8], r12w
add rbp, r15
add rbx, 0x38
cmp rbp, r13
jl 0x14003aadf
jmp 0x14003661a
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov r8, qword [rsp + 0x40]
mov ebx, dword [rsi + 0xc]
mov rcx, qword [r8 + 0x20]
movsxd rdx, dword [rsi + 4]
mov r13, rax
shl rdx, 5
cmp ebx, 0xffffffff
mov eax, 3
mov r14, qword [rdx + rcx + 8]
mov rcx, qword [r14 + 8]
mov rbp, qword [rcx]
movzx r12d, byte [rbp + 9]
cmove ebx, r12d
xor edx, edx
cmp byte [rbp + 0x14], al
jae 0x14003ab6d
mov rax, qword [rbp + 0x50]
cmp qword [rax], rdx
je 0x14003ab70
cmp qword [rbp + 0x60], rdx
jle 0x14003ab70
mov ebx, r12d
lea rcx, [0x1400e2a9c]
cmp byte [rbp + 0x13], dl
jne 0x14003ab83
mov rcx, qword [rbp + 0xd0]
mov r9d, 5
cmp ebx, r9d
jne 0x14003abb9
call fcn.140016f44
cmp eax, edx
je 0x14003abb6
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
cmp byte [rbp + 0x11], dl
jne 0x14003abb6
cmp byte [rbp + 8], dl
jne 0x14003abb9
lea eax, [r9 - 3]
cmp dword [rcx], eax
jl 0x14003abb6
cmp qword [rcx + 0x68], rdx
jne 0x14003abb9
mov ebx, r12d
cmp ebx, r12d
je 0x14003ac39
cmp r12d, r9d
je 0x14003abc8
cmp ebx, r9d
jne 0x14003ac39
cmp byte [r8 + 0x5f], dl
je 0x14003b952
cmp dword [r8 + 0xcc], r15d
jg 0x14003b952
cmp r12d, r9d
jne 0x14003abff
mov rdx, r8
mov rcx, rbp
call fcn.140021244
mov edi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
cmp edi, eax
jne 0x14003ac3d
mov edx, ebx
jmp 0x14003ac0c
mov eax, 4
cmp r12d, eax
jne 0x14003ac1c
lea edx, [rax - 2]
mov rcx, rbp
call fcn.140021044
mov r9d, 5
xor edx, edx
cmp edi, edx
jne 0x14003ac3d
cmp ebx, r9d
mov rcx, r14
sete dl
add edx, r15d
call fcn.14002dfe8
xor edx, edx
mov edi, eax
mov dword [rsp + 0x30], eax
cmp edi, edx
je 0x14003ac40
mov ebx, r12d
mov edx, ebx
mov rcx, rbp
call fcn.140021044
mov ecx, 0xa02
mov word [r13 + 8], cx
cmp eax, 6
jne 0x14003ac60
xor eax, eax
mov rcx, rax
jmp 0x14003ac71
lea rcx, [0x140000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0xcac68]
mov qword [r13 + 0x10], rcx
call fcn.140016f44
movzx edx, byte [rsp + 0x348]
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], r15b
mov eax, edx
cmp edx, r15d
je 0x14003aca2
mov dl, al
mov rcx, r13
call fcn.140016968
mov dl, byte [rsp + 0x348]
xor r10d, r10d
cmp edi, r10d
jne 0x140036815
jmp 0x14003632c
cmp dword [rsi + 8], r10d
je 0x14003acc6
movsxd r9, dword [rsi + 8]
imul r9, r9, 0x38
add r9, r14
jmp 0x14003acc9
mov r9, r10
mov r8d, dword [rsi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r13
call fcn.14006d1a0
jmp 0x14003882d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140026dd0
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x1400369c9
cmp eax, 0x65
jne 0x140036815
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x14003b66e
cmp dword [rsi + 4], r10d
jne 0x14003ad35
mov edx, dword [rsi + 8]
mov rcx, r13
call fcn.140033a34
jmp 0x140035c04
mov eax, dword [rsi + 8]
add eax, r15d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp case.0x140035ba8.86
mov rbx, qword [rsi + 0x10]
mov rcx, r13
mov rdx, rbx
call fcn.14006e608
mov r12, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp rbx, r10
je 0x14003a94f
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.140033a5c
xor r10d, r10d
jmp 0x14003a94f
xor edx, edx
lea rcx, [rsp + 0x1e0]
lea r8d, [rdx + 0x38]
call sub.msvcrt.dll_memset
movsxd rdx, dword [rsi + 8]
lea rcx, [rsp + 0x1e0]
imul rdx, rdx, 0x38
add rdx, r14
mov qword [rsp + 0x208], r13
call fcn.14002f618
lea rcx, [rsp + 0x1e0]
mov dl, r15b
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.14002fb58
mov r12, qword [rsp + 0x340]
xor r10d, r10d
cmp rax, r10
je 0x14003ae06
mov edx, dword [rsi + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r13
call fcn.14006e16c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, 0x2400
test word [rsp + 0x1e8], ax
jne 0x14003ae1f
cmp dword [rsp + 0x200], r10d
je 0x14003ae2f
lea rcx, [rsp + 0x1e0]
call fcn.14002f060
xor r10d, r10d
cmp edi, r10d
jne 0x14003681d
jmp 0x140036538
add dword [r13 + 0xd8], r15d
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.14006e490
dec dword [r13 + 0xd8]
jmp 0x14003882d
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x78], r10
mov rbx, qword [rax + 0x10]
cmp rbx, r10
je 0x14003b97e
mov rbp, qword [rbx]
cmp rbp, r10
je 0x14003b97e
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [rbp + 0x30]
mov r12, qword [rsp + 0x340]
mov rdx, rbx
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140033a5c
xor r10d, r10d
cmp edi, r10d
jne 0x14003681d
mov rax, qword [rsp + 0x78]
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rax], rbx
mov edx, dword [rsi + 4]
lea eax, [r10 + 2]
mov rcx, r12
mov byte [rsp + 0x20], al
call fcn.140035770
mov rcx, qword [rsp + 0x78]
xor r10d, r10d
cmp rax, r10
je 0x14003b973
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r15d
jmp 0x140035f1e
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd rdx, dword [rsi + 0xc]
imul rdx, rdx, 0x38
mov r13, qword [rax + rcx*8]
mov edi, dword [rdx + r14]
lea r10, [rdx + r14 + 0x38]
mov rbx, qword [r13 + 0x38]
movsxd r9, dword [r10]
mov rdx, qword [r11 + 0x70]
mov r12, qword [rbx]
xor eax, eax
cmp r9d, eax
mov rbp, qword [r12]
mov rcx, rax
jle 0x14003af46
mov r8d, r15d
movsxd rax, r8d
add r8d, r15d
imul rax, rax, 0x38
add rax, r10
mov qword [rdx + rcx*8], rax
add rcx, r15
cmp rcx, r9
jl 0x14003af2d
mov r8, qword [rsi + 0x10]
mov qword [rsp + 0x20], rdx
mov rcx, rbx
mov edx, edi
call qword [rbp + 0x40]
mov rdx, r12
mov r12, qword [rsp + 0x340]
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140033a5c
xor r10d, r10d
cmp edi, r10d
jne 0x14003681d
mov rcx, rbx
call qword [rbp + 0x50]
xor r10d, r10d
mov byte [r13 + 2], r10b
cmp eax, r10d
je 0x14003850a
jmp 0x140038b00
mov r15, rbx
mov r14, qword [rsp + 0x48]
jmp 0x140038b00
mov r15d, 1
jmp 0x14003af9a
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd rbx, dword [rsi + 0xc]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
cmp byte [rbp + 2], r10b
jne 0x140036f5e
mov rax, qword [rbp + 0x38]
xor edx, edx
lea rcx, [rsp + 0x2b8]
mov r12, qword [rax]
lea r8d, [rdx + 0x38]
mov rdi, qword [r12]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x2b8], rbx
test byte [rsi + 2], r15b
je 0x14003b010
mov rcx, rbx
call fcn.14002f3f8
mov eax, 0x4001
mov word [rbx + 8], ax
xor eax, eax
mov dword [rbx], eax
jmp 0x14003b01e
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], r15w
mov r8d, dword [rsi + 8]
mov rcx, qword [rbp + 0x38]
lea rdx, [rsp + 0x2b8]
call qword [rdi + reloc.WLDAP32.dll_Ordinal_88]
mov rdx, r12
mov r12, qword [rsp + 0x340]
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140033a5c
xor eax, eax
cmp dword [rsp + 0x2dc], eax
jle 0x14003b07d
mov dl, r15b
mov rcx, rbx
call fcn.14002fb58
lea rdx, [0x1400e2b18]
mov rcx, r12
mov r8, rax
call fcn.1400300d4
mov edi, dword [rsp + 0x2dc]
mov dword [rsp + 0x30], edi
movzx ecx, byte [rsp + 0x348]
mov eax, 2
test byte [rbx + 8], al
je 0x14003b0a1
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003b0a1
mov dl, cl
mov rcx, rbx
call fcn.140016968
mov rcx, rbx
call fcn.14002f568
xor r10d, r10d
cmp eax, r10d
je 0x14003a94f
mov r11, qword [rsp + 0x340]
lea rdx, [0x1400e33d0]
mov rcx, r11
call fcn.1400300d4
mov edi, 0x12
jmp 0x14003b7ad
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
cmp byte [rbp + 2], r10b
jne case.0x140035ba8.86
mov rcx, qword [rbp + 0x38]
mov rbx, qword [rcx]
mov r12, qword [rbx]
call qword [r12 + Ordinal_73]
mov rcx, qword [rsp + 0x340]
mov rdx, rbx
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140033a5c
xor r10d, r10d
cmp edi, r10d
jne 0x140036815
mov rcx, qword [rbp + 0x38]
call qword [r12 + 0x50]
mov r12, qword [rsp + 0x38]
xor r10d, r10d
cmp eax, r10d
jne 0x14003a208
mov r11, qword [rsp + 0x340]
mov eax, dword [rsi + 8]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp 0x14003a561
mov ebp, dword [r13 + 0x30]
bts qword [r13 + 0x30], 0x1a
mov rax, qword [rsi + 0x10]
movsxd rbx, dword [rsi + 4]
mov r12, qword [rax + 0x10]
mov eax, 2
and ebp, 0x4000000
imul rbx, rbx, 0x38
add rbx, r14
test byte [rbx + 8], al
je 0x14003b199
cmp byte [rbx + 0xa], r15b
je 0x14003b199
mov dl, r15b
mov rcx, rbx
call fcn.140016968
xor r10d, r10d
mov edi, eax
jmp 0x14003b19c
mov edi, r10d
cmp edi, r10d
jne 0x140036815
mov rax, qword [r12]
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call qword [rax + Ordinal_157]
mov edi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
cmp ebp, eax
jne 0x14003b1c8
btr qword [r13 + 0x30], 0x1a
mov rcx, qword [rsp + 0x340]
mov rdx, r12
call fcn.140033a5c
mov r11, qword [rsp + 0x340]
xor r10d, r10d
and dword [r11 + 0xc8], 0xfffffffc
cmp edi, r10d
jne 0x140036815
jmp 0x140035f26
cmp byte [r13 + 0x61], r10b
jne 0x14003756f
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + 0x10]
cmp rbx, r10
je 0x14003b97e
mov r10, qword [rbx]
xor ecx, ecx
cmp r10, rcx
je 0x14003b97b
movsxd rdx, dword [rsi + 8]
cmp qword [r10 + 0x68], rcx
je 0x14003b697
movsxd rax, dword [rsi + 0xc]
mov r8, qword [r11 + 0x70]
mov bpl, byte [r13 + 0x66]
imul rax, rax, 0x38
xor r11d, r11d
add rax, r14
cmp edx, r11d
jle 0x14003b25b
mov qword [r8 + rcx*8], rax
add rcx, r15
add rax, 0x38
cmp rcx, rdx
jl 0x14003b24b
mov al, byte [rsi + 2]
lea r9, [rsp + 0x128]
mov rcx, rbx
mov byte [r13 + 0x66], al
call qword [r10 + 0x68]
mov rcx, qword [rsp + 0x340]
mov rdx, rbx
mov edi, eax
mov dword [rsp + 0x30], eax
mov byte [r13 + 0x66], bpl
call fcn.140033a5c
xor r10d, r10d
cmp edi, r10d
jne 0x14003b2a5
cmp dword [rsi + 4], r10d
je 0x14003b2a5
mov rax, qword [rsp + 0x128]
mov qword [r13 + 0x38], rax
cmp dil, 0x13
jne 0x14003b2f7
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x14003b2f7
mov ebx, 4
cmp word [rsi + 2], bx
jne 0x14003b2cd
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x14003653d
mov eax, 5
cmp word [rsi + 2], ax
jne 0x14003b2df
mov eax, 2
jmp 0x14003b2e3
movzx eax, word [rsi + 2]
mov r11, qword [rsp + 0x340]
mov byte [r11 + 0xc2], al
jmp 0x140039cf7
mov r11, qword [rsp + 0x340]
mov ebx, 4
add dword [r11 + 0x3c], r15d
jmp 0x140039cf7
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov rcx, qword [r13 + 0x20]
movsxd rdx, dword [rsi + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
mov qword [rax], rdx
jmp 0x140035d7c
mov rdx, rsi
mov rcx, r11
call fcn.140035a88
mov rcx, qword [r13 + 0x20]
movsxd rdx, dword [rsi + 4]
shl rdx, 5
xor r10d, r10d
mov r11, rax
mov rax, qword [rdx + rcx + 8]
mov edx, dword [rsi + 0xc]
mov ecx, r10d
cmp edx, r10d
je 0x14003b371
mov rcx, qword [rax + 8]
mov ecx, dword [rcx + 0x3c]
cmp ecx, edx
cmovb ecx, edx
cmp ecx, r10d
mov rax, qword [rax + 8]
mov rdx, qword [rax]
jle 0x14003b383
mov dword [rdx + 0xc0], ecx
movsxd rax, dword [rdx + 0xc0]
mov qword [r11], rax
jmp 0x14003653d
movzx ebx, word [rsi + 2]
mov rcx, r13
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.140014ae8
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003756f
mov qword [rax], r10
mov rcx, qword [rsi + 0x10]
mov dword [r11 + 0x24], r10d
mov qword [rax + 8], rcx
mov byte [r11 + 0x29], bl
mov rcx, rsi
sub rcx, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [r11 + 0x18], r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r10 + 2]
mov dword [r11 + 0x20], edx
add byte [rsi], al
mov byte [rsi + 1], 0xf0
mov qword [rsi + 0x10], r11
jmp 0x14003b417
mov r12, qword [rsp + 0x340]
movsxd rbx, dword [rsi + 0xc]
mov rbp, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, r14
cmp qword [rbp], rbx
je 0x14003b46b
movzx edx, byte [rbp + 0x29]
mov qword [rbp], rbx
sub edx, r15d
movsxd r8, edx
js 0x14003b46b
lea r9, [rbp + r8*8 + 0x30]
mov r13d, 8
mov eax, dword [rsi + 8]
sub r8, r15
add eax, edx
sub edx, r15d
cdqe
imul rax, rax, 0x38
add rax, r14
mov qword [r9], rax
sub r9, r13
cmp r8, r10
jge 0x14003b447
mov r13, qword [rsp + 0x40]
mov eax, 0x3e40
lea r8, [rbp + 0x30]
mov rcx, rbp
and word [rbx + 8], ax
or word [rbx + 8], r15w
mov rax, qword [rbp + 8]
movzx edx, byte [rbp + 0x29]
call qword [rax + Ordinal_26]
mov eax, dword [rbp + 0x24]
xor r10d, r10d
cmp eax, r10d
je 0x14003b4eb
jle 0x14003b4bc
mov dl, r15b
mov rcx, rbx
call fcn.14002fb58
lea rdx, [0x1400e2b18]
mov rcx, r12
mov r8, rax
call fcn.1400300d4
mov edi, dword [rbp + 0x24]
mov dword [rsp + 0x30], edi
mov rdx, qword [rsp + 0x340]
mov r9d, dword [rsi + 4]
mov r8d, dword [rbp + 0x20]
add rdx, 0x120
mov rcx, r13
call fcn.140032600
xor r10d, r10d
mov dword [rbp + 0x24], r10d
cmp edi, r10d
jne 0x140036815
test byte [rbx + 8], 0x12
je 0x140035f1e
movzx ecx, byte [rsp + 0x348]
mov eax, 2
test byte [rbx + 8], al
je 0x14003b51c
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003b51c
mov dl, cl
mov rcx, rbx
call fcn.140016968
xor r10d, r10d
mov rcx, rbx
call fcn.14002f568
mov r11, qword [rsp + 0x340]
cmp eax, r10d
jne 0x14003b0bd
jmp 0x140035f26
mov r11, qword [rsp + 0x340]
jmp 0x140035f32
mov r11, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x140035f2b
xor r10d, r10d
mov r13, r8
jmp 0x140037bce
test byte [r13 + 0x68], r15b
je 0x14003b618
mov eax, 0x10
test byte [r11 + 0xc8], al
jne 0x14003b618
mov r9, qword [rsi + 0x10]
cmp r9, r10
jne 0x14003b593
mov r9, qword [r11 + 0xf0]
cmp r9, r10
je 0x14003b610
cmp dword [r13 + 0xd4], r15d
jle 0x14003b5ea
lea rdx, [0x1400e3694]
mov r8, r9
mov rcx, r13
call fcn.140016568
mov r8, qword [rsp + 0x340]
mov rdx, qword [r13 + 0xf0]
mov r9, rax
mov ecx, r15d
mov rbx, rax
call qword [r13 + 0xe8]
xor r10d, r10d
cmp rbx, r10
je 0x14003b5e3
mov rdx, rbx
mov rcx, r13
call fcn.140014878
xor r10d, r10d
mov ebx, 4
jmp 0x14003b601
mov rdx, qword [r13 + 0xf0]
mov r8, r11
mov ecx, r15d
call qword [r13 + 0xe8]
xor r10d, r10d
mov dl, byte [rsp + 0x348]
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
mov eax, dword [0x140120d50]
cmp dword [rsi + 4], eax
jl 0x14003b663
cmp byte [rsi], 0xa8
je case.0x140035ba8.86
cmp dword [r11 + 0x90], r15d
mov edx, r15d
jle 0x14003b65f
mov eax, Ordinal_27
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14003b64f
mov dword [rax + rcx + 4], r10d
add edx, r15d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x14003b63d
mov dword [rsi + 4], r10d
add dword [rsi + 4], r15d
add dword [r11 + 0xec], r15d
mov eax, dword [rsi + 8]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp 0x1400361d3
mov r13, qword [rsp + 0x40]
jmp 0x140036068
mov r14, qword [rsp + 0x48]
jmp 0x140035f3a
mov dl, byte [rsp + 0x348]
jmp 0x140035fba
mov ecx, dword [rsi + 4]
mov dword [r11 + 0x38], ecx
mov al, byte [rsi + 8]
mov dword [r11 + 0x34], ebx
mov byte [r11 + 0xc2], al
cmp ecx, r10d
je 0x14003b762
mov rcx, r11
cmp word [rsi + 2], r10w
je 0x14003b71d
movzx r8d, word [rsi + 2]
lea rax, [0x140000000]
lea rdx, [0x1400e3440]
mov r8, qword [rax + r8*8 + 0xc99a0]
call fcn.1400300d4
mov r9, qword [rsi + 0x10]
mov rdi, qword [rsp + 0x340]
xor eax, eax
cmp r9, rax
je 0x14003b735
mov r8, qword [rdi + 0xa8]
lea rdx, [0x1400e3458]
mov rcx, r13
call fcn.140016568
mov qword [rdi + 0xa8], rax
jmp 0x14003b735
mov r8, qword [rsi + 0x10]
lea rdx, [0x1400e2b18]
call fcn.1400300d4
mov rdi, qword [rsp + 0x340]
mov rax, qword [rdi + 0xa8]
mov r9, qword [rdi + 0xf0]
mov ecx, dword [rsi + 4]
lea rdx, [0x1400e3460]
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.1400166cc
mov r11, qword [rsp + 0x340]
mov rcx, r11
call fcn.1400321a8
mov r12, qword [rsp + 0x340]
mov edi, eax
mov eax, 5
cmp edi, eax
jne 0x14003b787
mov dword [r12 + 0x38], eax
jmp 0x140036906
mov rax, qword [rsp + 0x340]
mov eax, dword [rax + 0x38]
neg eax
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x140036906
mov ecx, 0x152d5
call fcn.140082d0c
mov edi, eax
mov r12, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x14003681d
lea rdx, [0x1400e3478]
mov rcx, r11
call fcn.1400300d4
mov edi, 5
jmp 0x14003b7ad
lea rdx, [0x1400e34c8]
mov rcx, r11
call fcn.1400300d4
mov edi, 5
mov r12, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x140036822
sub rsi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rdi + 0x34], edx
mov byte [r12 + 0x5f], al
mov r12, qword [rsp + 0x340]
mov edi, ecx
mov dword [r12 + 0x38], ecx
jmp 0x140036906
lea rdx, [0x1400e34b0]
mov r8, rbp
mov rcx, r11
call fcn.1400300d4
mov edi, ebx
jmp 0x14003b7e7
mov edi, 8
jmp 0x140036815
mov eax, 5
cmp dil, al
jne 0x140036815
sub rsi, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r12 + 0x38], edi
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x34], edx
jmp 0x140036906
mov edi, 0x204
jmp 0x140036815
mov edi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x14003b7ad
mov r12, qword [rsp + 0x340]
mov r14d, 7
lea ebx, [r14 - 6]
mov edi, r14d
jmp 0x140036828
mov r12, qword [rsp + 0x340]
mov edi, 6
lea eax, [rdi - 4]
mov byte [r12 + 0xc2], al
jmp 0x14003b7b5
mov edi, 7
mov rcx, r13
call fcn.14004c21c
mov r14d, 7
cmp edi, r14d
je 0x140037575
mov r12, qword [rsp + 0x340]
mov ebx, 1
xor r10d, r10d
jmp 0x140036828
lea rdx, [0x1400e3628]
mov rcx, r11
mov edi, r15d
call fcn.1400300d4
jmp 0x14003b7ad
mov dl, r15b
mov rcx, rbp
call fcn.14002fb58
lea rdx, [0x1400e2b18]
mov r8, rax
mov rcx, qword [rsp + 0x340]
call fcn.1400300d4
jmp 0x14003b7ad
lea rax, [0x1400e3650]
lea r8, [0x1400e3658]
cmp ebx, r9d
mov edi, r15d
lea rdx, [0x1400e3660]
cmove r8, rax
jmp 0x14003b940
call qword [rbp + 0x38]
jmp 0x14003756f
xor r10d, r10d
mov edi, 6
jmp 0x140036815
cmp qword [r11 + 0x50], r10
jle 0x14003b9b9
mov eax, 2
mov dword [r11 + 0x38], 0x313
lea rdx, [0x1400e3310]
mov byte [r11 + 0xc2], al
mov rcx, r11
call fcn.1400300d4
mov edi, r15d
jmp 0x14003b7ad
mov rax, qword [r11]
cmp dword [rax + 0x280], r10d
je 0x14003b9e1
cmp dword [r11 + 0x40], r10d
je 0x14003b9e1
mov edx, r15d
mov rcx, r11
call fcn.140032064
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov eax, dword [r11 + 0x30]
mov edi, r10d
add eax, 2
or eax, r15d
mov dword [r11 + 0x30], eax
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
mov qword [r11 + 0xa0], rbp
cmp dword [rsi + 8], r10d
jle 0x14003ba6a
lea rbx, [rbp + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14003ba31
movsxd rcx, edi
imul rcx, rcx, 0x38
add rcx, rbp
call fcn.14002ed88
xor ecx, ecx
cmp eax, ecx
jne 0x14003756f
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14003ba4f
lea rcx, [rbx - 8]
call fcn.14002ed2c
add edi, r15d
add rbx, 0x38
cmp edi, dword [rsi + 8]
jl 0x14003ba0e
mov r11, qword [rsp + 0x340]
xor r10d, r10d
lea ebx, [r10 + 4]
cmp byte [r13 + 0x61], r10b
jne 0x14003756f
test byte [r13 + 0x68], bl
je 0x14003ba90
mov rdx, qword [r13 + 0xf0]
xor r9d, r9d
mov r8, r11
mov ecx, ebx
call qword [r13 + 0xe8]
sub rsi, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov edi, 0x64
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r15d
mov dword [r12 + 0x34], edx
jmp 0x140036906
mov ebx, dword [rsi + 4]
movzx eax, byte [r13 + 0x5f]
mov ecx, dword [rsi + 8]
cmp ebx, eax
je 0x14003bb8a
cmp ecx, r10d
je 0x14003baf3
mov edx, 0x204
mov rcx, r13
call fcn.140081128
mov byte [r13 + 0x5f], r15b
jmp 0x14003bb28
cmp ebx, r10d
je 0x14003bb0d
cmp dword [r13 + 0xd0], r10d
jle 0x14003bb0d
lea rdx, [0x1400e3500]
jmp 0x14003b7c4
mov edx, r15d
mov rcx, r11
call fcn.140032158
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x1400368fe
mov byte [r13 + 0x5f], bl
mov rdi, qword [rsp + 0x340]
mov rcx, rdi
call fcn.1400321a8
mov ecx, 5
cmp eax, ecx
jne 0x14003bb6e
sub rsi, r12
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r15b, bl
mov dword [rdi + 0x34], edx
mov byte [r13 + 0x5f], r15b
jmp 0x14003b821
mov rcx, r13
call fcn.140080ca8
mov r11d, dword [rdi + 0x38]
neg r11d
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x1400368fe
lea rax, [0x1400e3568]
cmp ecx, r10d
lea rdx, [0x1400e3598]
cmovne rdx, rax
lea rax, [0x1400e3538]
cmp ebx, r10d
cmove rdx, rax
jmp 0x14003b9a9