Function at 0x50bd0
Capabilities:
Hash data using murmur3

Disassembly:
or eax, 0xc28bc833
xor ecx, r9d
rol r8d, 0xe
ror eax, 7
xor r8d, eax
mov eax, edx
mov edx, ebp
shr eax, 3
mov r9d, ebx
xor r8d, eax
lea eax, [r13 + rcx]
mov r13d, dword [rsp + 0xa8]
add r8d, eax
mov eax, dword [rsp + 0x34]
or r9d, r11d
add r8d, eax
ror edx, 0xb
and r9d, edi
mov eax, ebp
mov ecx, r15d
rol eax, 7
invalid
xor ecx, r13d
xor edx, eax
and ecx, ebp
mov eax, ebp
ror eax, 6
xor ecx, r13d
xor edx, eax
lea eax, [r8 + rdx]
mov r8d, dword [rsp + 0x20]
add ecx, eax
mov eax, r11d
lea edx, [rcx + r12 - 0x41065c09]
mov ecx, r11d
add esi, edx
ror ecx, 0xd
rol eax, 0xa
xor ecx, eax
mov eax, r11d
ror eax, 2
xor ecx, eax
mov eax, ebx
and eax, r11d
or r9d, eax
lea eax, [rdx + rcx]
mov ecx, r10d
add r9d, eax
mov edx, esi
mov eax, esi
ror edx, 0xb
rol eax, 7
xor edx, eax
mov eax, esi
ror eax, 6
xor edx, eax
rol ecx, 0xf
mov eax, r10d
rol eax, 0xd
shr r10d, 0xa
xor ecx, eax
mov eax, r8d
xor ecx, r10d
add edx, ecx
mov ecx, r8d
rol ecx, 0xe
mov r10, qword [rsp + 0x90]
ror eax, 7
shr r8d, 3
xor ecx, eax
mov eax, r15d
xor eax, ebp
xor ecx, r8d
and eax, esi
add ecx, r14d
xor eax, r15d
add ecx, edx
mov edx, dword [rsp + 0x28]
add eax, ecx
mov ecx, r11d
add eax, edx
or ecx, r9d
mov edx, r9d
lea r8d, [rax + r13 - 0x398e870e]
ror edx, 0xd
and ecx, ebx
mov eax, r9d
rol eax, 0xa
xor edx, eax
mov eax, r9d
ror eax, 2
xor edx, eax
mov eax, r11d
and eax, r9d
or ecx, eax
mov eax, dword [r10 + 8]
add eax, edx
add ecx, eax
mov eax, dword [r10 + 0xc]
add eax, r9d
add ecx, r8d
mov dword [r10 + 0xc], eax
mov eax, dword [r10 + 0x10]
mov dword [r10 + 8], ecx
add eax, r11d
mov dword [r10 + 0x10], eax
mov eax, dword [r10 + 0x14]
add eax, ebx
mov dword [r10 + 0x14], eax
mov eax, dword [r10 + 0x18]
add eax, r8d
add eax, edi
mov dword [r10 + 0x18], eax
mov eax, dword [r10 + 0x1c]
add eax, esi
mov dword [r10 + 0x1c], eax
mov eax, dword [r10 + 0x20]
add eax, ebp
mov dword [r10 + 0x20], eax
mov eax, dword [r10 + 0x24]
add eax, r15d
mov dword [r10 + 0x24], eax
add rsp, 0x48
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
invalid
invalid
mov eax, eax
sub ecx, r10d
mov byte [rsp + 0x23], r8b
shr eax, 0x18
mov byte [rsp + 0x27], r9b
mov byte [rsp + 0x20], al
mov eax, r8d
shr eax, 0x10
mov byte [rsp + 0x21], al
mov eax, r8d
shr eax, 8
mov byte [rsp + 0x22], al
mov eax, r9d
shr eax, 0x18
mov byte [rsp + 0x24], al
mov eax, r9d
shr eax, 0x10
mov byte [rsp + 0x25], al
mov eax, r9d
shr eax, 8
mov byte [rsp + 0x26], al
mov eax, 0x78
sub eax, r10d
cmp r10d, 0x38
cmovb eax, ecx
mov r8d, eax
test eax, eax
je 0x41289
lea rdx, [0x00069ca0]
mov rcx, rbx
call fcn.00041108
lea rdx, [rsp + 0x20]
mov r8d, 8
mov rcx, rbx
call fcn.00041108
mov al, byte [rbx + 0xb]
mov byte [rdi], al
mov al, byte [rbx + 0xa]
mov byte [rdi + 1], al
mov eax, dword [rbx + 8]
shr eax, 8
mov byte [rdi + 2], al
mov al, byte [rbx + 8]
mov byte [rdi + 3], al
mov al, byte [rbx + 0xf]
mov byte [rdi + 4], al
mov al, byte [rbx + 0xe]
mov byte [rdi + 5], al
mov eax, dword [rbx + 0xc]
shr eax, 8
mov byte [rdi + 6], al
mov al, byte [rbx + 0xc]
mov byte [rdi + 7], al
mov al, byte [rbx + 0x13]
mov byte [rdi + 8], al
mov al, byte [rbx + 0x12]
mov byte [rdi + 9], al
mov eax, dword [rbx + 0x10]
shr eax, 8
mov byte [rdi + 0xa], al
mov al, byte [rbx + 0x10]
mov byte [rdi + 0xb], al
mov al, byte [rbx + 0x17]
mov byte [rdi + 0xc], al
mov al, byte [rbx + 0x16]
mov byte [rdi + 0xd], al
mov eax, dword [rbx + 0x14]
shr eax, 8
mov byte [rdi + 0xe], al
mov al, byte [rbx + 0x14]
mov byte [rdi + 0xf], al
mov al, byte [rbx + 0x1b]
mov byte [rdi + 0x10], al
mov al, byte [rbx + 0x1a]
mov byte [rdi + 0x11], al
mov eax, dword [rbx + 0x18]
shr eax, 8
mov byte [rdi + 0x12], al
mov al, byte [rbx + 0x18]
mov byte [rdi + 0x13], al
mov al, byte [rbx + 0x1f]
mov byte [rdi + 0x14], al
mov al, byte [rbx + 0x1e]
mov byte [rdi + 0x15], al
mov eax, dword [rbx + 0x1c]
shr eax, 8
mov byte [rdi + 0x16], al
mov al, byte [rbx + 0x1c]
mov byte [rdi + 0x17], al
mov al, byte [rbx + 0x23]
mov byte [rdi + 0x18], al
mov al, byte [rbx + 0x22]
mov byte [rdi + 0x19], al
mov eax, dword [rbx + 0x20]
shr eax, 8
mov byte [rdi + 0x1a], al
mov al, byte [rbx + 0x20]
mov byte [rdi + 0x1b], al
cmp dword [rbx + 0xe8], 0
jne 0x4137c
mov al, byte [rbx + 0x27]
mov byte [rdi + 0x1c], al
mov al, byte [rbx + 0x26]
mov byte [rdi + 0x1d], al
mov eax, dword [rbx + 0x24]
shr eax, 8
mov byte [rdi + 0x1e], al
mov al, byte [rbx + 0x24]
mov byte [rdi + 0x1f], al
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.0005cf80
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
add byte [rax - 0x75], cl
jmp 0x48e49f10
call fcn.000411d8
lea rax, [rsp + 0x20]
mov byte [rax], 0
inc rax
sub rdi, 1
jne 0x4140f
mov rcx, qword [rsp + 0x110]
xor rcx, rsp
call fcn.0005cf80
add rsp, 0x120
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov rax, qword [0x00078100]
xor rax, rsp
mov qword [rsp + 0x510], rax
mov ebp, r8d
mov rsi, rdx
xor r8d, r8d
xor edx, edx
call fcn.00037968
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x41482
lea eax, [rdi - 0x77]
jmp 0x41506
mov ebx, 0xec
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8, rbx
call fcn.0005d630
lea rcx, [rsp + 0x20]
and al, 0x20
and al, 0x20
mov edx, ebp
call fcn.0003e93c
mov ebp, 0x400
jmp 0x414c3
test rcx, rcx
je 0x414c3
mov r8, rcx
lea rdx, [rsp + 0x110]
lea rcx, [rsp + 0x20]
call fcn.00041108
lea rdx, [rsp + 0x110]
mov r8d, ebp
mov rcx, rdi
call fcn.00037a00
movsxd rcx, eax
test eax, eax
jne 0x414a9
lea rcx, [rsp + 0x20]
mov rdx, rsi
mov edx, esi
mov edx, esi
call fcn.000411d8
lea rax, [rsp + 0x20]
mov byte [rax], 0
inc rax
sub rbx, 1
jne 0x414ef
mov rcx, rdi
call qword [sym.imp.ntoskrnl.exe_ZwClose]
xor eax, eax
mov rcx, qword [rsp + 0x510]
xor rcx, rsp
call fcn.0005cf80
mov rbx, qword [rsp + 0x550]
add rsp, 0x520
pop rdi
pop rsi
pop rbp
ret
mov eax, dword [0x00078100]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov ebx, 0x20
mov r12d, r9d
mov rdi, r8
lea r15d, [rbx + 0x20]
mov rbp, rdx
mov r13, rcx
cmp r8, r15
jbe 0x41592
lea r8, [rsp + 0x20]
mov rdx, rdi
mov rcx, rbp
call fcn.0004139c
mov r11d, r12d
lea rbp, [rsp + 0x20]
neg r11d
sbb rdi, rdi
sbb edi, edi
sbb edi, edi
and rdi, 0xfffffffffffffffc
add rdi, rbx
lea rcx, [r13 + 0x68]
mov r8, r15
mov edx, 0x36
call fcn.0005d630
lea rsi, [r13 + 0xa8]
mov r8, r15
mov rcx, rsi
mov edx, 0x5c
call fcn.0005d630
test rdi, rdi
je 0x415d6
mov al, byte [rbp]
xor byte [rsi - 0x40], al
mov al, byte [rbp]
inc rbp
xor byte [rsi], al
inc rsi
sub rdi, 1
jne 0x415bf
mov edx, r12d
mov rcx, r13
call fcn.0003e93c
lea rdx, [r13 + 0x68]
mov r8, r15
call fcn.00041108
invalid
dec dword [rax - 0x73]
and al, 0x20
invalid
mov byte [rax], 0
inc rax
sub rbx, 1
jne 0x415f2
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.0005cf80
mov rbx, qword [rsp + 0xa8]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
and al, 0x18
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x00078100]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov ebx, dword [rcx + 0xe8]
mov rsi, rdx
lea rdx, [rsp + 0x20]
mov rdi, rcx
call fcn.000411d8
mov edx, ebx
mov rcx, rdi
call fcn.0003e93c
lea rdx, [rdi + 0xa8]
mov r8d, 0x40
call fcn.00041108
neg ebx
mov ebx, 0x20
sbb r8, r8
and r8, 0xfffffffffffffffc
add r8, rbx
je 0x4169c
lea rdx, [rsp + 0x20]
mov rcx, rdi
call fcn.00041108
mov rdx, rsi
mov rcx, rdi
call fcn.000411d8
lea rax, [rsp + 0x20]
mov byte [rax], 0
inc rax
sub rbx, 1
jne 0x416ac
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.0005cf80
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x50
pop rdi
ret
call qword [r11 + 0x40]
mov qword [rbx + 0x50], rax
test rax, rax
jne 0x41815
mov eax, 0xffff9e80
jmp 0x4182b
xor edx, edx
mov rcx, rbx
mov qword [rbx], rdi
call fcn.00042088
xor eax, eax
jmp 0x4182b
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rcx + 8], r8d
mov dword [rcx + 0xc], r9d
cmp r9d, 1
je 0x41885
cmp dword [rax + 4], 3
je 0x41885
cmp dword [rax + 4], 5
je 0x41885
test r9d, r9d
jne 0x41892
mov rax, qword [rax + 0x28]
mov rcx, qword [rcx + 0x50]
call qword [rax + 0x38]
jmp 0x41897
mov rax, qword [rax + 0x28]
mov rcx, qword [rcx + 0x50]
call qword [rax + 0x30]
jmp 0x41897
mov eax, 0xffff9f00
add rsp, 0x28
ret
xor eax, eax
jmp 0x41c25
je 0x41a57
cmp r8, rbx
je 0x41b10
mov eax, dword [r8 + 0x20]
jmp 0x41b12
mov eax, ebx
mov ecx, eax
xor edx, edx
mov rax, rsi
div rcx
mov r12, rdx
cmp rdx, rbx
jne 0x41b39
cmp dword [rdi + 0xc], ebx
jne 0x41b39
cmp r8, rbx
je 0x41b34
mov eax, dword [r8 + 0x20]
jmp 0x41b36
mov eax, ebx
mov r12d, eax
mov rdx, r13
lea rcx, [rdi + 0x20]
mov r8, r12
sub rdx, r12
add rdx, rsi
invalid
call fcn.0005d130
add qword [rdi + 0x30], r12
sub rsi, r12
je 0x41a57
invalid
mov rax, qword [rdi]
mov edx, dword [rdi + 0xc]
mov rcx, qword [rdi + 0x50]
mov r10, qword [rax + 0x28]
lea r9, [rdi + 0x38]
mov r8, rsi
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
call qword [r10 + 0x10]
cmp eax, ebx
jne 0x41c25
add qword [rbp], rsi
jmp 0x41a57
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop r13
pop r12
ret
je 0x42007
mov ecx, dword [r10 + 0x20]
jmp 0x42009
mov ecx, ebx
mov r10, qword [r10 + 0x28]
mov edx, dword [rdi + 0xc]
mov r8d, ecx
mov rcx, qword [rdi + 0x50]
lea rax, [rdi + 0x20]
lea r9, [rdi + 0x38]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
call qword [r10 + 0x10]
cmp eax, ebx
jne 0x4206b
mov rax, qword [rdi]
cmp dword [rdi + 0xc], ebx
jne 0x4204e
cmp rax, rbx
je 0x42041
mov ebx, dword [rax + 0x20]
mov edx, ebx
mov r8, rsi
mov rcx, rbp
call qword [rdi + 0x18]
jmp 0x4206b
cmp rax, rbx
je 0x42056
mov ebx, dword [rax + 0x20]
mov eax, ebx
mov qword [rsi], rax
xor eax, eax
jmp 0x4206b
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
mov r9, qword [rsp + 0xb8]
mov r8, qword [rsp + 0xb0]
lea rcx, [rsi + 0x38]
mov rdx, rbx
call fcn.0002040c
jmp 0x42582
lea rcx, [rsi + 0x38]
mov rdx, r13
call fcn.0001de38
test eax, eax
jne 0x426ad
lea rdx, [rsi + 8]
lea rcx, [rsi + 0x38]
call fcn.0001dfb8
test eax, eax
jns 0x4256e
mov eax, ebp
add ebp, r13d
cmp eax, 0xa
jg 0x426b4
lea rdx, [rsi + 8]
lea rcx, [rsi + 0x38]
call fcn.00042440
test eax, eax
jne 0x42550
lea rax, [rsi + 0x98]
lea r9, [rsi + 8]
lea r8, [rsi + 0x38]
lea rdx, [rsi + 0x20]
lea rcx, [rsi + 0x50]
mov qword [rsp + 0x20], rax
call fcn.0001f9d4
test eax, eax
jne 0x426ad
lea rdx, [rsi + 8]
lea rcx, [rsi + 0x50]
call fcn.00042440
test eax, eax
jne 0x426b9
lea rcx, [rsi + 8]
call fcn.0001d940
lea rcx, [rsi + 0x20]
lea r12, [rax + 7]
shr r12, 3
call fcn.0001d940
lea rcx, [rsi + 0x50]
lea r14, [rax + 7]
shr r14, 3
call fcn.0001d940
lea rdx, [r15 + 2]
lea rbp, [rax + 7]
lea rcx, [rsi + 8]
mov r8, r12
shr rbp, 3
call fcn.0001dc70
test eax, eax
jne 0x426ad
mov rdx, r12
lea rbx, [r15 + r12 + 2]
lea rcx, [rsi + 0x20]
lea ecx, [rsi + 0x20]
lea ecx, [rsi + 0x20]
shr rdx, 8
mov r8, r14
mov byte [r15], dl
lea rdx, [rbx + 2]
mov byte [r15 + 1], r12b
call fcn.0001dc70
test eax, eax
jne 0x426ad
mov rax, r14
lea rcx, [rsi + 0x50]
mov r8, rbp
shr rax, 8
mov byte [rbx], al
mov byte [rbx + 1], r14b
lea rbx, [rbx + r14 + 2]
lea rdx, [rbx + 2]
call fcn.0001dc70
test eax, eax
jne 0x426ad
mov rcx, qword [rsp + 0xa8]
mov rax, rbp
shr rax, 8
mov byte [rbx], al
inc rbx
mov byte [rbx], bpl
sub rbx, r15
mov qword [rsi], r12
lea rax, [rbx + rbp + 1]
mov qword [rcx], rax
xor eax, eax
jmp 0x426b9
add eax, 0xffffce80
jmp 0x426b9
mov eax, 0xffffce80
mov rbx, qword [rsp + 0x98]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov qword [r11 + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
xor esi, esi
mov rbp, r9
mov r13, r8
movsxd r12, edx
mov rbx, rcx
test rcx, rcx
je 0x427fb
lea r15d, [rsi + 1]
cmp r9, r15
jb 0x427fb
cmp r9, qword [rcx]
ja 0x427fb
and qword [r11 + 8], rsi
lea rax, [r11 + 8]
lea rdx, [r11 - 0x48]
add rcx, 8
mov qword [r11 - 0x38], rax
mov dword [r11 - 0x48], r15d
mov qword [r11 - 0x40], r15
call fcn.0001dfb8
test eax, eax
je 0x427fb
mov r9, qword [rsp + 0xa8]
mov r8, qword [rsp + 0xa0]
lea rcx, [rbx + 0x38]
mov rdx, r12
call fcn.0002040c
jmp 0x42778
lea rcx, [rbx + 0x38]
mov rdx, r15
call fcn.0001de38
test eax, eax
jne 0x427ed
lea rdx, [rbx + 8]
lea rcx, [rbx + 0x38]
call fcn.0001dfb8
test eax, eax
jns 0x42768
mov eax, esi
add esi, r15d
cmp eax, 0xa
jg 0x427f4
lea rdx, [rbx + 8]
lea rcx, [rbx + 0x38]
call fcn.00042440
test eax, eax
jne 0x4274a
lea rax, [rbx + 0x98]
lea rdx, [rbx + 0x20]
lea r9, [rbx + 8]
lea r8, [rbx + 0x38]
lea rcx, [rbx + 0x50]
mov qword [rsp + 0x20], rax
call fcn.0001f9d4
test eax, eax
jne 0x427ed
lea rdx, [rbx + 8]
lea rcx, [rbx + 0x50]
call fcn.00042440
test eax, eax
jne 0x42800
lea rcx, [rbx + 0x50]
mov r8, rbp
mov rdx, r13
call fcn.0001dc70
test eax, eax
je 0x42800
add eax, 0xffffcd80
jmp 0x42800
mov eax, 0xffffcd80
jmp 0x42800
mov eax, 0xffffcf80
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, [rsi + 8]
call fcn.0001d940
lea rcx, [rsi + 0xb0]
mov r9, r14
lea rdx, [rax + 7]
mov r8, r15
shr rdx, 3
call fcn.0002040c
jmp 0x42a03
lea rcx, [rsi + 0xb0]
mov rdx, rbx
call fcn.0001de38
test eax, eax
jne 0x42aa0
lea rdx, [rsi + 8]
lea rcx, [rsi + 0xb0]
call fcn.0001dfb8
test eax, eax
jns 0x429ec
mov eax, ebp
add ebp, ebx
cmp eax, 0xa
jg 0x42a9b
lea rax, [rsp + 0x80]
lea rdx, [rsp + 0x30]
lea edx, [rsp + 0x30]
lea edx, [rsp + 0x30]
lea rcx, [rsi + 0xb0]
mov qword [rsp + 0x80], rbx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rax
call fcn.0001dfb8
test eax, eax
jle 0x429c7
lea r8, [rsi + 8]
lea rdx, [rsi + 0xb0]
lea rcx, [rsi + 0xc8]
call fcn.00020484
test eax, eax
jne 0x42aa0
lea rax, [rsi + 0x98]
lea r9, [rsi + 8]
lea r8, [rsi + 0x38]
lea rdx, [rsi + 0xc8]
lea rcx, [rsi + 0xc8]
mov qword [rsp + 0x20], rax
call fcn.0001f9d4
jmp 0x42aa0
mov eax, 0xfffffff2
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
push r13
push r14
sub rsp, 0x60
mov r12, r9
mov r13, r8
mov r14, rdx
mov rdi, rcx
test rcx, rcx
je 0x42cc7
mov rax, qword [rcx]
cmp qword [r8], rax
jb 0x42cc7
lea rdx, [rcx + 8]
add rcx, 0x68
call fcn.00042440
test eax, eax
jne 0x42ccc
and qword [rsp + 0x38], 0
and qword [rsp + 0x40], 0
mov dword [rsp + 0x30], 1
test r12, r12
je 0x42bbc
mov r8, qword [rsp + 0xb0]
mov rdx, r12
mov rcx, rdi
call fcn.00042824
mov ebx, eax
test eax, eax
jne 0x42cad
lea r8, [rdi + 0xb0]
lea rdx, [rdi + 0x68]
lea rcx, [rsp + 0x30]
call fcn.0001effc
mov ebx, eax
test eax, eax
jne 0x42cad
add dword [rax], eax
invalid
add dword [rax], eax
add byte [rax - 0x7d], cl
movsb byte [rdi], byte [rsi]
and al, 0x90
add byte [rax], al
add byte [rax], al
and qword [rsp + 0x90], 0
lea eax, [rbx + 1]
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x90]
lea rcx, [rdi + 8]
mov qword [rsp + 0x58], rax
call fcn.0001dfb8
test eax, eax
jns 0x42ba7
mov ebx, 0xfffffff6
jmp 0x42cad
lea r8, [rdi + 8]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x30]
call fcn.0001f7cc
jmp 0x42bca
lea rdx, [rdi + 0x68]
lea rcx, [rsp + 0x30]
call fcn.0001d4ec
mov ebx, eax
test eax, eax
jne 0x42cad
lea rax, [rdi + 0x98]
lea r8, [rdi + 0x38]
lea r9, [rdi + 8]
lea rdx, [rsp + 0x30]
lea rcx, [rdi + 0x80]
mov qword [rsp + 0x20], rax
call fcn.0001f9d4
mov ebx, eax
test eax, eax
jne 0x42cad
test r12, r12
je 0x42c81
lea r8, [rdi + 0xc8]
lea rdx, [rdi + 0x80]
add byte [rax], 0
add byte [rax - 0x73], cl
pop qword [rax - 0x18000000]
fcmovb st(0), st(3)
std
dec dword [rbx + 0xfc085d8]
invalid
invalid
add byte [rax], al
invalid
add byte [rax], 0
add byte [rax - 0x73], cl
pop qword [rax - 0x18000000]
fcmovb st(0), st(3)
std
dec dword [rbx + 0xfc085d8]
test dword [rcx + 0x48000000], eax
and dword [rsp + 0x90], 0
and qword [rsp + 0x90], 0
lea eax, [rbx + 1]
lea rdx, [rsp + 0x48]
mov dword [rsp + 0x48], eax
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x90]
lea rcx, [rdi + 8]
mov qword [rsp + 0x58], rax
pop rax
pop rax
call fcn.0001dfb8
test eax, eax
js 0x42b9d
lea r8, [rdi + 8]
lea rdx, [rdi + 0x80]
lea rcx, [rdi + 0x80]
call fcn.0001f7cc
mov ebx, eax
test eax, eax
jne 0x42cad
lea rcx, [rdi + 0x80]
call fcn.0001d940
lea rcx, [rdi + 0x80]
mov rdx, r14
add rax, 7
shr rax, 3
mov r8, rax
mov qword [r13], rax
call fcn.0001dc70
mov ebx, eax
lea rcx, [rsp + 0x30]
call fcn.0001d2ec
test ebx, ebx
invalid
je 0x42cc3
invalid
lea eax, [rbx - 0x3300]
jmp 0x42ccc
xor eax, eax
jmp 0x42ccc
mov eax, 0xffffcf80
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
dec dword [rax - 0x73]
mov ebx, dword [rax - 0x18000000]
invalid
std
inc dword [rcx - 0x45]
clc
add byte [rax], al
add dh, al
add eax, dword [rax]
mov byte [rbx], 0
inc rbx
sub r11, 1
jne 0x42d64
add rsp, 0x20
pop rbx
ret
mov eax, 0xffffb080
jmp 0x42f59
add byte [rcx + 0x63ebffff], dh
mov byte [rdi], 3
mov al, byte [rcx + 5]
sub rsi, 3
mov byte [rdi + 1], al
mov al, byte [rcx + 4]
mov byte [rdi + 2], al
cmp rsi, 1
jb 0x42e94
mov r8d, dword [rbx + 0x1b8]
lea rax, [rsi - 1]
lea rcx, [rdi + 4]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
lea r9, [rsp + 0x50]
lea rdx, [rbx + 0x110]
mov rcx, rbx
call fcn.00022f58
mov rcx, qword [rsp + 0x50]
test eax, eax
jne 0x42f59
mov byte [rdi + 3], cl
inc rcx
test eax, eax
jne 0x42f59
lea rax, [rcx + 3]
mov qword [rbp], rax
xor eax, eax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
ret
xchg esp, eax
cmp byte [rdx + 0x418d2a4c], cl
mov eax, edx
ror edx, 0xc
add edx, r10d
xor eax, edx
xor ecx, edx
add ecx, r8d
lea r8d, [rcx + r11 - 0x5c6be]
mov ecx, dword [rsp + 0x14]
rol r8d, 4
add r8d, edx
xor eax, r8d
add eax, r9d
lea r9d, [rax + rcx - 0x788e097f]
mov ecx, dword [rsp + 4]
rol r9d, 0xb
add r9d, r8d
mov eax, r9d
xor eax, edx
xor eax, r8d
add eax, r10d
lea r10d, [rax + rcx + 0x6d9d6122]
mov ecx, r9d
rol r10d, 0x10
add r10d, r9d
xor ecx, r10d
mov eax, ecx
xor eax, r8d
add eax, edx
lea edx, [rax + rbx - 0x21ac7f4]
mov eax, dword [rsp + 0x80]
ror edx, 9
add edx, r10d
xor ecx, edx
add ecx, r8d
lea r8d, [rcx + rax - 0x5b4115bc]
mov eax, r10d
rol r8d, 4
xor eax, edx
add r8d, edx
xor eax, r8d
add eax, r9d
mov ecx, dword [rsp]
lea r9d, [rax + rcx + 0x4bdecfa9]
rol r9d, 0xb
add r9d, r8d
mov eax, r9d
mov ecx, r9d
xor eax, edx
xor eax, r8d
add eax, r10d
lea r10d, [rax + rbp - 0x944b4a0]
rol r10d, 0x10
add r10d, r9d
xor ecx, r10d
mov eax, ecx
xor eax, r8d
add eax, edx
lea edx, [rax + r12 - 0x41404390]
mov eax, r10d
ror edx, 9
add edx, r10d
xor eax, edx
xor ecx, edx
add ecx, r8d
lea r8d, [rcx + r14 + 0x289b7ec6]
mov ecx, dword [rsp + 0x10]
rol r8d, 4
add r8d, edx
xor eax, r8d
add eax, r9d
lea r9d, [rax + rcx - 0x155ed806]
mov ecx, dword [rsp + 0x78]
rol r9d, 0xb
add r9d, r8d
mov eax, r9d
xor eax, edx
xor eax, r8d
add eax, r10d
lea r10d, [rax + rcx - 0x2b10cf7b]
mov ecx, r9d
rol r10d, 0x10
add r10d, r9d
xor ecx, r10d
mov eax, ecx
xor eax, r8d
add eax, edx
mov edx, dword [rsp + 0x88]
lea edx, [rax + rdx + 0x4881d05]
mov eax, dword [rsp + 0xc]
ror edx, 9
add edx, r10d
xor ecx, edx
add ecx, r8d
lea r8d, [rcx + rax - 0x262b2fc7]
mov eax, r10d
xor eax, edx
rol r8d, 4
add r8d, edx
xor eax, r8d
add eax, r9d
lea ecx, [rax + rdi - 0x1924661b]
rol ecx, 0xb
add ecx, r8d
mov eax, ecx
xor eax, edx
xor eax, r8d
add eax, r10d
lea r9d, [rax + rsi + 0x1fa27cf8]
mov eax, ecx
rol r9d, 0x10
add r9d, ecx
xor eax, r9d
xor eax, r8d
add eax, edx
mov edx, dword [rsp + 8]
lea edx, [rax + rdx - 0x3b53a99b]
mov eax, ecx
ror edx, 9
not eax
add edx, r9d
or eax, edx
xor eax, r9d
add eax, r8d
mov r8d, dword [rsp + 0x10]
lea r8d, [rax + r8 - 0xbd6ddbc]
mov eax, r9d
not eax
rol r8d, 6
add r8d, edx
or eax, r8d
xor eax, edx
add eax, ecx
lea ecx, [rax + rbp + 0x432aff97]
mov eax, edx
not eax
rol ecx, 0xa
add ecx, r8d
or eax, ecx
xor eax, r8d
add eax, r9d
lea r9d, [rax + rbx - 0x546bdc59]
mov eax, r8d
not eax
rol r9d, 0xf
add r9d, ecx
or eax, r9d
xor eax, ecx
add eax, edx
lea edx, [rax + r11 - 0x36c5fc7]
mov eax, ecx
not eax
ror edx, 0xb
add edx, r9d
or eax, edx
xor eax, r9d
add eax, r8d
lea r8d, [rax + rdi + 0x655b59c3]
mov eax, r9d
not eax
rol r8d, 6
add r8d, edx
or eax, r8d
xor eax, edx
add eax, ecx
mov ecx, dword [rsp + 0x78]
lea ecx, [rax + rcx - 0x70f3336e]
mov eax, edx
not eax
rol ecx, 0xa
add ecx, r8d
or eax, ecx
xor eax, r8d
add eax, r9d
lea r9d, [rax + r12 - 0x100b83]
mov eax, r8d
not eax
rol r9d, 0xf
add r9d, ecx
or eax, r9d
xor eax, ecx
add eax, edx
mov edx, dword [rsp + 0x80]
lea edx, [rax + rdx - 0x7a7ba22f]
mov eax, ecx
not eax
ror edx, 0xb
add edx, r9d
or eax, edx
xor eax, r9d
add eax, r8d
mov r8d, dword [rsp + 0x14]
lea r8d, [rax + r8 + 0x6fa87e4f]
mov eax, r9d
rol r8d, 6
not eax
add r8d, edx
or eax, r8d
xor eax, edx
add eax, ecx
lea ecx, [rax + rsi - 0x1d31920]
rol ecx, 0xa
add ecx, r8d
mov eax, edx
not eax
or eax, ecx
xor eax, r8d
add eax, r9d
mov r9d, dword [rsp + 0x88]
lea r9d, [rax + r9 - 0x5cfebcec]
mov eax, r8d
mov eax, eax
mov eax, eax
not eax
rol r9d, 0xf
add r9d, ecx
or eax, r9d
xor eax, ecx
add eax, edx
mov edx, dword [rsp]
lea r10d, [rax + r14 + 0x4e0811a1]
mov eax, ecx
not eax
ror r10d, 0xb
add r10d, r9d
or eax, r10d
xor eax, r9d
add eax, r8d
lea r8d, [rax + rdx - 0x8ac817e]
mov eax, r9d
not eax
rol r8d, 6
add r8d, r10d
or eax, r8d
xor eax, r10d
add eax, ecx
mov ecx, dword [rsp + 4]
lea edx, [rax + rcx - 0x42c50dcb]
mov ecx, dword [rsp + 8]
mov eax, r10d
not eax
rol edx, 0xa
add edx, r8d
or eax, edx
xor eax, r8d
add eax, r9d
mov r9, qword [rsp + 0x70]
lea ecx, [rax + rcx + 0x2ad7d2bb]
lea eax, [r13 + r8]
not r8d
mov dword [r9 + 8], eax
mov eax, dword [rsp + 0xc]
rol ecx, 0xf
add ecx, edx
or r8d, ecx
xor r8d, edx
add r8d, r10d
lea eax, [r8 + rax - 0x14792c6f]
ror eax, 0xb
add eax, r15d
add eax, ecx
mov dword [r9 + 0xc], eax
mov eax, dword [r9 + 0x10]
add eax, ecx
mov dword [r9 + 0x10], eax
mov eax, dword [r9 + 0x14]
add eax, edx
mov dword [r9 + 0x14], eax
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test r13d, r13d
je 0x44714
mov rax, qword [rbp + 0x10]
cmp qword [rax + r12*8 - 8], 0
je 0x447e4
mov ebx, 7
test r13d, r13d
je 0x44737
mov rax, qword [rbp + 0x10]
mov ecx, ebx
mov rdx, qword [rax + r12*8 - 8]
shl ecx, 3
shr rdx, cl
test dl, dl
je 0x447db
mov eax, r15d
xor r13d, r13d
cdq
and edx, 0xf
add eax, edx
and eax, 0xf
cmp eax, edx
jne 0x447a6
test r15d, r15d
jle 0x44779
mov rdx, rsi
lea rcx, [rsp + rdi + 0x40]
lea r8, [0x0006eed8]
sub rdx, rdi
call sub.ntoskrnl.exe__snprintf
mov rcx, qword [r14 + 0x60]
lea r8, [rsp + 0x40]
lea edx, [r13 + 3]
call qword [r14 + 0x30]
xor edi, edi
cmp dword [0x0007b628], r13d
jne 0x447a6
mov eax, dword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea r8, str._s__04d_:
lea rcx, [rsp + 0x40]
mov rdx, rsi
mov dword [rsp + 0x20], eax
call sub.ntoskrnl.exe__snprintf
movsxd rdi, eax
mov rax, qword [rbp + 0x10]
mov ecx, ebx
lea r8, str.__02x
mov rdx, qword [rax + r12*8 - 8]
shl ecx, 3
shr rdx, cl
lea rcx, [rsp + rdi + 0x40]
movzx r9d, dl
retf 0x8b48
invalid
sub rdx, rdi
call sub.ntoskrnl.exe__snprintf
movsxd rcx, eax
add rdi, rcx
inc r15d
retf 0x8b48
sub ebx, 1
jns 0x44719
sub r12, 1
jne 0x446ff
cmp r13d, 1
jne 0x4483e
cmp dword [0x0007b628], 0
jne 0x44821
mov eax, dword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
lea r8, str._s__04d_:
lea rcx, [rsp + 0x40]
mov rdx, rsi
mov dword [rsp + 0x20], eax
call sub.ntoskrnl.exe__snprintf
movsxd rdi, eax
mov rdx, rsi
lea rcx, [rsp + rdi + 0x40]
lea r8, [0x000748f8]
sub rdx, rdi
call sub.ntoskrnl.exe__snprintf
movsxd rcx, eax
add rdi, rcx
sub rsi, rdi
lea rcx, [rsp + rdi + 0x40]
lea r8, [0x0006eed8]
mov rdx, rsi
call sub.ntoskrnl.exe__snprintf
mov rcx, qword [r14 + 0x60]
lea r8, [rsp + 0x40]
mov edx, 3
call qword [r14 + 0x30]
mov rcx, qword [rsp + 0x240]
xor rcx, rsp
call fcn.0005cf80
mov rbx, qword [rsp + 0x298]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
add bl, ch
or byte [rax - 0x78], al
mov ah, 0x24
movabs al, byte [0xa024848d4c000000]
add byte [rax], al
add byte [rax - 0x73], cl
mov word [rax + riz*8], fs
add al, 0
add byte [rbx + rcx*4 - 0x31], cl
lea r8, [rsp + 0xa0]
lea rcx, [rsp + 0x4e0]
mov r9, rdi
mov edx, 0x3ff
call fcn.0001b410
cmp dword [0x0007b628], esi
jne 0x44989
lea r8, str._s__04d_:
lea rcx, [rsp + 0xe0]
mov r9, rbp
mov edx, 0x3ff
mov dword [rsp + 0x20], r12d
and al, 0x20
and al, 0x20
call sub.ntoskrnl.exe__snprintf
mov r14d, eax
mov ecx, 0x3ff
lea rax, [rsp + 0x4e0]
lea r8, str._s__d:_n_s
sub ecx, r14d
mov qword [rsp + 0x28], rax
inc r15d
movsxd rdx, ecx
movsxd rcx, r14d
mov r9, rbx
lea rcx, [rsp + rcx + 0xe0]
mov dword [rsp + 0x20], r15d
call sub.ntoskrnl.exe__snprintf
mov rcx, qword [r13 + 0x60]
lea r8, [rsp + 0xe0]
mov edx, 3
mov byte [rsp + 0x4df], sil
call qword [r13 + 0x30]
xor edx, edx
lea rcx, [rsp + 0x40]
lea r8d, [rdx + 0x48]
lea rbx, [rdi + 0x148]
call fcn.0005d630
cmp rbx, rsi
je 0x44ad5
mov rax, qword [rbx]
cmp rax, rsi
je 0x44ad5
mov r8, qword [rax + 0x58]
cmp r8, rsi
je 0x44ad5
mov rcx, qword [rbx + 8]
lea rdx, [rsp + 0x40]
call r8
lea rbx, [rsp + 0x40]
cmp dword [rbx], 0
je 0x44ad3
mov rax, qword [rbx + 8]
lea r9, str.crt__
lea r8, str._s_s
lea rcx, [rsp + 0x90]
mov edx, 0x10
mov qword [rsp + 0x20], rax
call sub.ntoskrnl.exe__snprintf
cmp dword [rbx], 1
mov byte [rsp + 0x9f], 0
jne 0x44a94
mov rax, qword [rbx + 0x10]
mov r9d, r12d
mov r8, rbp
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x90]
mov edx, 3
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.000445c8
jmp 0x44ac2
cmp dword [rbx], 2
jne 0x44ac2
mov rax, qword [rbx + 0x10]
mov r9d, r12d
mov r8, rbp
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x90]
mov edx, 3
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.000444c8
inc rsi
add rbx, 0x18
cmp rsi, 3
jb 0x44a2a
xor esi, esi
mov rdi, qword [rdi + 0x238]
mov rbx, qword [rsp + 0x30]
cmp rdi, rsi
jne 0x44940
mov rcx, qword [rsp + 0x8e0]
xor rcx, rsp
call fcn.0005cf80
mov rbx, qword [rsp + 0x938]
add rsp, 0x8f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov eax, r8d
shr rax, 0xd
add r10d, r10d
and eax, 0xf
mov ecx, dword [r12 + rax*4 + 0x53d00]
mov eax, r8d
shr rax, 0x15
add ecx, ecx
and eax, 0xf
or ecx, dword [r12 + rax*4 + 0x53d00]
shl ecx, 5
or ecx, dword [r12 + rdx*4 + 0x53d00]
mov eax, r9d
mov r13d, 0xfffffff
mov edx, r9d
shr rax, 4
and ecx, r13d
shr rdx, 0x19
and eax, 0xf
or r10d, ecx
and edx, 0xf
mov r8d, dword [r12 + rax*4 + 0x53d40]
mov eax, r9d
shr rax, 0xc
and r8d, ebx
mov ebx, 0x8000
and eax, 0xf
add r8d, r8d
mov eax, dword [r12 + rax*4 + 0x53d40]
and eax, 0x3fffff
or r8d, eax
mov eax, r9d
shr rax, 0x1c
shl r8d, 2
mov eax, dword [r12 + rax*4 + 0x53d40]
and eax, 0xffffff
or r8d, eax
mov eax, r9d
shr rax, 1
add r8d, r8d
and eax, 0xf
mov eax, dword [r12 + rax*4 + 0x53d40]
and eax, 0x1ffffff
or r8d, eax
mov eax, r9d
shr rax, 9
add r8d, r8d
and eax, 0xf
mov eax, dword [r12 + rax*4 + 0x53d40]
and eax, 0x3ffffff
or r8d, eax
mov eax, r9d
shr rax, 0x14
shl r8d, 2
and eax, 0xf
mov ecx, dword [r12 + rax*4 + 0x53d40]
mov eax, r9d
shl ecx, 4
shr rax, 0x11
and eax, 0xf
or ecx, dword [r12 + rax*4 + 0x53d40]
add ecx, ecx
or ecx, dword [r12 + rdx*4 + 0x53d40]
mov r12d, 0x4000000
and ecx, r13d
or r8d, ecx
xor r9d, r9d
cmp r9d, 2
jl 0x44d87
cmp r9d, 8
je 0x44d87
cmp r9d, 0xf
je 0x44d87
mov ecx, r10d
mov eax, r10d
shr ecx, 0x1a
shl eax, 2
mov r10d, ecx
mov ecx, r8d
or r10d, eax
mov eax, r8d
shr ecx, 0x1a
shl eax, 2
jmp 0x44da1
mov ecx, r10d
lea eax, [r10 + r10]
shr ecx, 0x1b
mov r10d, ecx
mov ecx, r8d
or r10d, eax
shr ecx, 0x1b
lea eax, [r8 + r8]
mov r8d, ecx
and r10d, r13d
or r8d, eax
mov ecx, r10d
and ecx, 1
and r8d, r13d
shl ecx, 0xa
mov edx, r8d
mov eax, r8d
and eax, 0x1000000
shr edx, 2
and edx, 0x2000000
or edx, eax
mov eax, r8d
and eax, 0x100000
shr edx, 6
or edx, eax
mov eax, r8d
and eax, 0x800000
shr edx, 4
or edx, eax
mov eax, r8d
and eax, r12d
shr edx, 1
or edx, eax
mov eax, r8d
and eax, 0x4000
shr edx, 3
or edx, eax
mov eax, r10d
and eax, r12d
or edx, eax
mov eax, r8d
and eax, 0x400
shr edx, 5
or edx, eax
mov eax, r8d
and eax, 0x10000
shr edx, 1
or edx, eax
mov eax, r8d
and eax, 0x40
shr edx, 1
or edx, eax
mov eax, r8d
and eax, 0x800
shr edx, 2
or edx, eax
mov eax, r10d
and eax, 0x200000
or edx, eax
mov eax, r10d
and eax, 0x82
shr edx, 1
or ecx, eax
mov eax, r10d
and eax, 0x2000
shl ecx, 4
or ecx, eax
mov eax, r10d
and eax, 0x100
shl ecx, 4
or ecx, eax
mov eax, r10d
and eax, 0x1000
add ecx, ecx
or ecx, eax
mov eax, r8d
and eax, 0x20
shl ecx, 3
or ecx, eax
mov eax, r10d
and eax, 0x40000
or ecx, eax
mov eax, r10d
and eax, 0x2400000
shl ecx, 2
or ecx, eax
mov eax, r10d
shl ecx, 2
and eax, ebx
or ecx, eax
mov eax, r8d
and eax, 0x100
shl ecx, 2
or edx, ecx
mov ecx, r8d
or edx, eax
shr ecx, 7
mov eax, r10d
and eax, 0x800
mov dword [r11], edx
and ecx, ebx
mov edx, r10d
and edx, 0x10
shl edx, 5
or edx, eax
mov eax, r10d
and eax, 0x20
add edx, edx
or edx, eax
mov eax, r10d
and eax, 0x4004
add edx, edx
or edx, eax
mov eax, r10d
and eax, 0x200
shl edx, 4
or edx, eax
mov eax, r10d
and eax, 0x20000
add edx, edx
or edx, eax
mov eax, r8d
and eax, 0x10
shl edx, 2
or edx, eax
mov eax, r8d
and eax, 2
add edx, edx
or edx, eax
mov eax, r10d
and eax, 0x10000
shl edx, 4
or edx, eax
mov eax, r8d
and eax, 1
add edx, edx
or edx, eax
mov eax, r10d
and eax, 0x800000
add edx, edx
or edx, eax
mov eax, r8d
and eax, 0x2020000
add edx, edx
or ecx, eax
mov eax, r8d
and eax, 0x80000
shr ecx, 5
or ecx, eax
mov eax, r8d
and eax, 0x1000
shr ecx, 2
or ecx, eax
mov eax, r10d
and eax, 0x1000000
shr ecx, 1
or ecx, eax
mov eax, r10d
and eax, 0x100000
shr ecx, 2
or ecx, eax
mov eax, r8d
and eax, 0x88
shr ecx, 1
or ecx, eax
mov eax, r10d
and eax, 0x8000000
shr ecx, 1
or ecx, eax
mov eax, r8d
and eax, ebx
inc r9d
add r11, 8
or ecx, eax
mov eax, r8d
shr ecx, 2
and eax, 0x200
or edx, ecx
or edx, eax
cmp r9d, 0x10
mov dword [r11 - 4], edx
jl 0x44d55
mov rbx, qword [rsp + 8]
mov r12, qword [rsp + 0x10]
mov r13, qword [rsp + 0x18]
ret
mov eax, dword [rsi - 4]
mov dword [r11 - 4], eax
mov eax, dword [rsi]
sub rsi, 8
mov dword [r11], eax
mov eax, dword [rdi - 4]
cld
cld
mov dword [rcx - 4], eax
mov eax, dword [rdi]
sub rdi, 8
mov dword [rcx], eax
mov eax, dword [rcx - 0x84]
add rcx, 8
mov dword [rcx + 0x74], eax
mov eax, dword [rcx - 0x88]
mov dword [rcx + 0x78], eax
mov eax, dword [r11 - 4]
mov dword [r11 + 0xfc], eax
mov eax, dword [r11]
add r11, 8
sub rdx, 1
mov dword [r11 + 0xf8], eax
jne 0x4506f
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
cld
dec dword [rbx - 0x397cb7fa]
adc byte [rcx + 0x33], al
ret
jl 0x45ab0
xor byte [rcx - 0x2f], al
retf 0x8b41
add byte [rbx + rsi - 0x30], al
shl eax, 8
xor edx, eax
mov eax, edx
shr eax, 2
xor eax, r10d
and eax, r12d
xor r10d, eax
shl eax, 2
xor edx, eax
mov eax, r10d
shr eax, 0x10
xor eax, edx
movzx ecx, ax
xor edx, ecx
shl ecx, 0x10
xor r10d, ecx
mov eax, r10d
shr eax, 4
xor eax, edx
and eax, ebp
mov rbp, qword [rsp + 0x20]
xor edx, eax
shl eax, 4
xor r10d, eax
mov byte [rbx + 7], dl
mov eax, r10d
mov byte [rbx + 3], r10b
shr eax, 0x18
mov byte [rbx], al
mov eax, r10d
shr eax, 0x10
mov byte [rbx + 1], al
mov eax, r10d
shr eax, 8
mov byte [rbx + 2], al
mov eax, edx
shr eax, 0x18
mov byte [rbx + 4], al
mov eax, edx
shr eax, 0x10
mov byte [rbx + 5], al
mov eax, edx
shr eax, 8
mov byte [rbx + 6], al
mov rbx, qword [rsp + 0x18]
xor eax, eax
pop r15
pop r12
ret
mov ebx, ecx
shl r10, 3
shl r9, 3
mov rbp, r8
movabs r8, 0xaaaaaaaaaaaaaaab
mov r12, rcx
mov rax, r8
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r9, rax
cmp r9, 2
je 0x45cce
cmp r9, 4
jne 0x45cd2
add rdx, 2
jmp 0x45cd2
add rdx, 3
inc rdx
cmp qword [rdi], rdx
jae 0x45ce7
mov qword [rdi], rdx
mov eax, 0xffffffd6
jmp 0x45dfa
mov rax, r8
xor esi, esi
mov r11, r12
lea r14, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mul rbx
shr rdx, 1
lea rcx, [rdx + rdx*2]
test rcx, rcx
je 0x45d81
dec rcx
mov rax, r8
mul rcx
shr rdx, 1
inc rdx
lea rsi, [rdx + rdx*2]
movzx r8d, byte [rbp]
movzx r9d, byte [rbp + 1]
movzx r10d, byte [rbp + 2]
mov eax, r8d
add r8d, r8d
add rbp, 3
sar rax, 2
and eax, 0x3f
mov al, byte [rax + r14]
mov byte [r11], al
mov eax, r9d
add r11, 4
sar eax, 4
lea ecx, [rax + r8*8]
and ecx, 0x3f
mov al, byte [rcx + r14]
mov byte [r11 - 3], al
mov eax, r10d
sar eax, 6
lea ecx, [rax + r9*4]
and ecx, 0x3f
mov al, byte [rcx + r14]
mov byte [r11 - 2], al
mov eax, r10d
and eax, 0x3f
sub rdx, 1
mov al, byte [rax + r14]
mov byte [r11 - 1], al
jne 0x45d18
cmp rsi, rbx
jae 0x45deb
movzx r8d, byte [rbp]
inc rsi
cmp rsi, rbx
jae 0x45d99
add byte [r8 - 1], r9b
invalid
movzx edx, byte [rbp + 1]
jmp 0x45d9b
xor edx, edx
mov eax, r8d
add r8d, r8d
sar rax, 2
and eax, 0x3f
mov al, byte [rax + r14]
mov byte [r11], al
mov eax, edx
sar eax, 4
lea ecx, [rax + r8*8]
and ecx, 0x3f
mov al, byte [rcx + r14]
mov byte [r11 + 1], al
cmp rsi, rbx
jae 0x45ddb
and edx, 0xf
shl edx, 2
movsxd rax, edx
mov al, byte [rax + r14]
mov byte [r11 + 2], al
jmp 0x45de0
mov byte [r11 + 2], 0x3d
add r11, 3
mov byte [r11], 0x3d
inc r11
mov rax, r11
mov byte [r11], 0
sub rax, r12
mov qword [rdi], rax
xor eax, eax
mov rbx, qword [rsp + 0x18]
mov rbp, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x30]
pop r14
pop r12
ret
add byte [rax], al
add byte [rax + 0x39], cl
invalid
mov al, byte [rbx]
cmp al, 0xd
je 0x45f82
cmp al, 0xa
je 0x45f82
cmp al, 0x20
je 0x45f82
movzx eax, al
movzx ecx, byte [rax + r13]
xor eax, eax
cmp cl, 0x40
sete al
and ecx, 0x3f
inc r11
sub r8d, eax
mov eax, r9d
mov r9d, ecx
shl eax, 6
or r9d, eax
cmp r11, 4
jne 0x45f82
xor r11d, r11d
test r8d, r8d
je 0x45f65
mov eax, r9d
shr eax, 0x10
mov byte [rdx], al
inc rdx
inc edx
inc edx
cmp r8d, 1
jbe 0x45f76
mov eax, r9d
shr eax, 8
mov byte [rdx], al
inc rdx
cmp r8d, 2
jbe 0x45f82
mov byte [rdx], r9b
inc rdx
inc rbx
sub r10, 1
jne 0x45f19
sub rdx, rsi
mov qword [rdi], rdx
xor eax, eax
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov r13, qword [rsp + 0x20]
ret
sub rsp, 0x28
mov eax, 0xd8
mov rdx, rcx
mov byte [rdx], 0
inc rdx
sub rax, 1
jne 0x46178
test rcx, rcx
je 0x46191
xor edx, edx
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
add rsp, 0x28
ret
invalid
add bh, al
or byte [r9], al
and eax, dword [rbp + 0x67]
mov dword [rcx + 0xc], 0xefcdab89
mov dword [rcx + 0x10], 0x98badcfe
mov dword [rcx + 0x14], 0x10325476
mov dword [rcx + 0x18], 0xc3d2e1f0
jmp fcn.0003c148
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x238
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x58], 0
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
shr eax, 0xa
and eax, 0x7f
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
shr eax, 0x1f
and eax, 1
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x50c69
xor eax, eax
jmp 0x56ea1
cmp qword [rsp + 0x258], 0
jne 0x50e19
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0xd8], eax
cmp dword [rsp + 0xd8], 0
jle 0x50de2
cmp dword [rsp + 0xd8], 2
jle 0x50ddb
cmp dword [rsp + 0xd8], 4
je 0x50ddb
cmp dword [rsp + 0xd8], 0x12
je 0x50ddb
cmp dword [rsp + 0xd8], 0x3d
je 0x50cca
jmp 0x50de2
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x50d09
xor r9d, r9d
mov r8d, 0x2dd
lea rdx, str.f:driverhivelibhivelibhttpparser.c
lea rcx, str.HTTP_PARSER_ERRNO_parser___HPE_OK
call qword [sym.imp.ntoskrnl.exe_RtlAssert]
mov dword [rsp + 0xdc], 0
jmp 0x50d14
mov dword [rsp + 0xdc], 1
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x38], 0
je 0x50dca
mov edx, dword [rsp + 0x20]
and edx, 0x7f
shl edx, 0xa
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax]
and ecx, 0xfffe03ff
or ecx, edx
mov rax, qword [rsp + 0x240]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x248]
call qword [rax + 0x38]
test eax, eax
je 0x50d8c
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0x7000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x50d64
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
shr eax, 0xa
and eax, 0x7f
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x50dca
mov rcx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x28]
sub rax, rcx
jmp 0x56ea1
xor eax, eax
test eax, eax
jne 0x50cca
xor eax, eax
jmp 0x56ea1
xor eax, eax
jmp 0x56ea1
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0xb000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x50de2
movabs rax, 1
jmp 0x56ea1
cmp dword [rsp + 0x20], 0x2b
jne 0x50e2d
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x30], rax
cmp dword [rsp + 0x20], 0x30
jne 0x50e41
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0xe0], eax
cmp dword [rsp + 0xe0], 0x10
je 0x50e7b
cmp dword [rsp + 0xe0], 0x14
jle 0x50e88
cmp dword [rsp + 0xe0], 0x1f
jle 0x50e6c
jmp 0x50e88
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x40], rax
jmp 0x50e88
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x250]
mov qword [rsp + 0x28], rax
jmp 0x50ea5
mov rcx, qword [rsp + 0x258]
mov rax, qword [rsp + 0x250]
add rax, rcx
cmp qword [rsp + 0x28], rax
je 0x566f9
mov rax, qword [rsp + 0x28]
movzx eax, byte [rax]
mov byte [rsp + 0x69], al
cmp dword [rsp + 0x20], 0x38
jg 0x50f33
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 4]
add ecx, 1
mov rax, qword [rsp + 0x240]
mov dword [rax + 4], ecx
mov rax, qword [rsp + 0x240]
cmp dword [rax + 4], 0x14000
jbe 0x50f2d
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0xc000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x50f00
jmp 0x56e26
xor eax, eax
test eax, eax
jne 0x50ed6
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0xe4]
sub eax, 1
mov dword [rsp + 0xe4], eax
cmp dword [rsp + 0xe4], 0x3d
ja case.default.0x50f76
movsxd rax, dword [rsp + 0xe4]
lea rcx, [0x00010000]
mov eax, dword [rcx + rax*4 + 0x46eac]
add rax, rcx
jmp rax
xor r9d, r9d
mov r8d, 0x81b
lea rdx, str.f:driverhivelibhivelibhttpparser.c
lea rcx, str.0___unhandled_state_
call qword [sym.imp.ntoskrnl.exe_RtlAssert]
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0x1d000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x566c7
jmp 0x56e26
cmp qword [rsp + 0x30], 0
je 0x5670e
mov dword [rsp + 0x204], 1
jmp 0x56719
mov dword [rsp + 0x204], 0
cmp qword [rsp + 0x60], 0
je 0x5672e
mov dword [rsp + 0x208], 1
jmp 0x56739
mov dword [rsp + 0x208], 0
cmp qword [rsp + 0x40], 0
je 0x5674e
mov dword [rsp + 0x20c], 1
jmp 0x56759
mov dword [rsp + 0x20c], 0
cmp qword [rsp + 0x48], 0
je 0x5676e
mov dword [rsp + 0x210], 1
jmp 0x56779
mov dword [rsp + 0x210], 0
cmp qword [rsp + 0x58], 0
je 0x5678e
mov dword [rsp + 0x214], 1
jmp 0x56799
mov dword [rsp + 0x214], 0
mov ecx, dword [rsp + 0x208]
mov eax, dword [rsp + 0x204]
add eax, ecx
add eax, dword [rsp + 0x20c]
add eax, dword [rsp + 0x210]
add eax, dword [rsp + 0x214]
cmp eax, 1
jle 0x567ed
xor r9d, r9d
mov r8d, 0x82f
lea rdx, str.f:driverhivelibhivelibhttpparser.c
lea rcx, str.__header_field_mark___1_:_0____header_value_mark___1_:_0____url_mark___1_:_0____body_mark___1_:_0____status_mark___1_:_0_____1
call qword [sym.imp.ntoskrnl.exe_RtlAssert]
mov dword [rsp + 0x218], 0
jmp 0x567f8
mov dword [rsp + 0x218], 1
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56837
xor r9d, r9d
mov r8d, 0x831
lea rdx, str.f:driverhivelibhivelibhttpparser.c
lea rcx, str.HTTP_PARSER_ERRNO_parser___HPE_OK
call qword [sym.imp.ntoskrnl.exe_RtlAssert]
mov dword [rsp + 0x21c], 0
jmp 0x56842
mov dword [rsp + 0x21c], 1
cmp qword [rsp + 0x30], 0
je 0x5691f
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x18], 0
je 0x56916
mov edx, dword [rsp + 0x20]
and edx, 0x7f
shl edx, 0xa
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax]
and ecx, 0xfffe03ff
or ecx, edx
mov rax, qword [rsp + 0x240]
mov dword [rax], ecx
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
sub r8, rax
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x248]
call qword [rax + 0x18]
test eax, eax
je 0x568d8
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0x3000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x568b0
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
shr eax, 0xa
and eax, 0x7f
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56916
mov rcx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x28]
sub rax, rcx
jmp 0x56ea1
mov qword [rsp + 0x30], 0
xor eax, eax
test eax, eax
jne 0x567f8
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56968
xor r9d, r9d
mov r8d, 0x832
lea rdx, str.f:driverhivelibhivelibhttpparser.c
lea rcx, str.HTTP_PARSER_ERRNO_parser___HPE_OK
call qword [sym.imp.ntoskrnl.exe_RtlAssert]
mov dword [rsp + 0x220], 0
jmp 0x56973
mov dword [rsp + 0x220], 1
cmp qword [rsp + 0x60], 0
je 0x56a50
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x20], 0
je 0x56a47
mov edx, dword [rsp + 0x20]
and edx, 0x7f
shl edx, 0xa
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax]
and ecx, 0xfffe03ff
or ecx, edx
mov rax, qword [rsp + 0x240]
mov dword [rax], ecx
mov rax, qword [rsp + 0x60]
mov r8, qword [rsp + 0x28]
sub r8, rax
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x248]
call qword [rax + 0x20]
test eax, eax
je 0x56a09
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0x4000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x569e1
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
shr eax, 0xa
and eax, 0x7f
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56a47
mov rcx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x28]
sub rax, rcx
jmp 0x56ea1
mov qword [rsp + 0x60], 0
xor eax, eax
test eax, eax
jne 0x56929
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56a99
xor r9d, r9d
mov r8d, 0x833
lea rdx, str.f:driverhivelibhivelibhttpparser.c
lea rcx, str.HTTP_PARSER_ERRNO_parser___HPE_OK
call qword [sym.imp.ntoskrnl.exe_RtlAssert]
mov dword [rsp + 0x224], 0
jmp 0x56aa4
mov dword [rsp + 0x224], 1
cmp qword [rsp + 0x40], 0
je 0x56b81
mov rax, qword [rsp + 0x248]
cmp qword [rax + 8], 0
je 0x56b78
mov edx, dword [rsp + 0x20]
and edx, 0x7f
shl edx, 0xa
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax]
and ecx, 0xfffe03ff
or ecx, edx
mov rax, qword [rsp + 0x240]
mov dword [rax], ecx
mov rax, qword [rsp + 0x40]
mov r8, qword [rsp + 0x28]
sub r8, rax
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x248]
call qword [rax + 8]
test eax, eax
je 0x56b3a
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0x2000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x56b12
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
shr eax, 0xa
and eax, 0x7f
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56b78
mov rcx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x28]
sub rax, rcx
jmp 0x56ea1
mov qword [rsp + 0x40], 0
xor eax, eax
test eax, eax
jne 0x56a5a
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56bca
xor r9d, r9d
mov r8d, 0x834
lea rdx, str.f:driverhivelibhivelibhttpparser.c
lea rcx, str.HTTP_PARSER_ERRNO_parser___HPE_OK
call qword [sym.imp.ntoskrnl.exe_RtlAssert]
mov dword [rsp + 0x228], 0
jmp 0x56bd5
mov dword [rsp + 0x228], 1
cmp qword [rsp + 0x48], 0
je 0x56cb2
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x30], 0
je 0x56ca9
mov edx, dword [rsp + 0x20]
and edx, 0x7f
shl edx, 0xa
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax]
and ecx, 0xfffe03ff
or ecx, edx
mov rax, qword [rsp + 0x240]
mov dword [rax], ecx
mov rax, qword [rsp + 0x48]
mov r8, qword [rsp + 0x28]
sub r8, rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x248]
call qword [rax + 0x30]
test eax, eax
je 0x56c6b
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0x6000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x56c43
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
shr eax, 0xa
and eax, 0x7f
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56ca9
mov rcx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x28]
sub rax, rcx
jmp 0x56ea1
mov qword [rsp + 0x48], 0
xor eax, eax
test eax, eax
jne 0x56b8b
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56cfb
xor r9d, r9d
mov r8d, 0x835
lea rdx, str.f:driverhivelibhivelibhttpparser.c
lea rcx, str.HTTP_PARSER_ERRNO_parser___HPE_OK
call qword [sym.imp.ntoskrnl.exe_RtlAssert]
mov dword [rsp + 0x22c], 0
jmp 0x56d06
mov dword [rsp + 0x22c], 1
cmp qword [rsp + 0x58], 0
je 0x56de3
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x10], 0
je 0x56dda
mov edx, dword [rsp + 0x20]
and edx, 0x7f
shl edx, 0xa
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax]
and ecx, 0xfffe03ff
or ecx, edx
mov rax, qword [rsp + 0x240]
mov dword [rax], ecx
mov rax, qword [rsp + 0x58]
mov r8, qword [rsp + 0x28]
sub r8, rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x240]
mov rax, qword [rsp + 0x248]
call qword [rax + 0x10]
test eax, eax
je 0x56d9c
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0x8000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x56d74
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
shr eax, 0xa
and eax, 0x7f
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
je 0x56dda
mov rcx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x28]
sub rax, rcx
jmp 0x56ea1
mov qword [rsp + 0x58], 0
xor eax, eax
test eax, eax
jne 0x56cbc
mov edx, dword [rsp + 0x20]
and edx, 0x7f
shl edx, 0xa
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax]
and ecx, 0xfffe03ff
or ecx, edx
mov rax, qword [rsp + 0x240]
mov dword [rax], ecx
mov rax, qword [rsp + 0x258]
jmp 0x56ea1
mov rax, qword [rsp + 0x240]
mov eax, dword [rax + 0x14]
shr eax, 0x18
and eax, 0x7f
test eax, eax
jne 0x56e63
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax + 0x14]
and ecx, 0x80ffffff
or ecx, 0x20000000
mov rax, qword [rsp + 0x240]
mov dword [rax + 0x14], ecx
xor eax, eax
test eax, eax
jne 0x56e3b
mov edx, dword [rsp + 0x20]
and edx, 0x7f
shl edx, 0xa
mov rax, qword [rsp + 0x240]
mov ecx, dword [rax]
and ecx, 0xfffe03ff
or ecx, edx
mov rax, qword [rsp + 0x240]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x250]
mov rax, qword [rsp + 0x28]
sub rax, rcx
jmp 0x56ea1
add rsp, 0x238
ret