Function at 0x4b7400
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov r11, rsp
sub rsp, 0xf8
mov qword [r11 - 0x18], rdi
mov rdi, rcx
mov ecx, dword [rcx + 0x34]
cmp dword [rdi + 0x30], ecx
je 0x4b7452
lea rdx, [rcx + rcx*2]
add rdx, rdx
mov eax, dword [rdi + rdx*8 + 0x830]
sub eax, ecx
mov ecx, dword [rdi + rdx*8 + 0x834]
mov dword [r8], ecx
mov ecx, dword [rdi + rdx*8 + 0x830]
mov dword [rdi + 0x34], ecx
mov rdi, qword [r11 - 0x18]
add rsp, 0xf8
ret
cmp dword [rdi + 0x48], 0
mov qword [rsp + 0x118], rbx
mov qword [rsp + 0xf0], rbp
mov qword [rsp + 0xe8], rsi
mov qword [rsp + 0xd8], r12
mov dword [rdi + 0x30], 0
mov qword [rsp + 0xc0], r15
mov r12d, 0x111
mov dword [rdi + 0x34], 0
jne 0x4b7520
mov rcx, qword [rdi]
xor esi, esi
call qword [rdi + 0x10]
mov rcx, qword [rdi]
lea rdx, [rdi + 0x32a18]
mov dword [rdi + 0x40], eax
call qword [rdi + 0x20]
test eax, eax
mov r15d, eax
mov dword [rsp + 0x34], r15d
je 0x4b7513
mov esi, dword [rdi + r15*4 + 0x32a10]
cmp esi, dword [rdi + 0x44]
jne 0x4b7513
mov ebx, dword [rdi + 0x40]
mov rcx, qword [rdi]
cmp ebx, r12d
cmova ebx, r12d
call qword [rdi + 0x18]
mov ecx, dword [rdi + r15*4 + 0x32a14]
lea r11, [rax - 1]
mov rdx, 0xffffffffffffffff
sub rdx, rcx
mov ecx, ebx
add rsi, r11
add rcx, r11
cmp rsi, rcx
je 0x4b7510
nop
movzx eax, byte [rdx + rsi]
cmp byte [rsi], al
jne 0x4b7510
inc rsi
cmp rsi, rcx
jne 0x4b7500
sub esi, r11d
inc dword [rdi + 0x48]
mov r8, qword [rsp + 0x110]
jmp 0x4b752c
mov r15d, dword [rdi + 0x3c]
mov esi, dword [rdi + 0x38]
mov dword [rsp + 0x34], r15d
mov ebx, dword [rdi + 0x40]
cmp ebx, 2
jae 0x4b7545
mov dword [r8], 0xffffffff
mov eax, 1
jmp 0x4b8fda
mov rcx, qword [rdi]
cmp ebx, r12d
mov qword [rsp + 0xd0], r13
mov qword [rsp + 0xc8], r14
cmova ebx, r12d
call qword [rdi + 0x18]
movzx r14d, byte [rax - 1]
lea r11, [rax - 1]
xor r13d, r13d
xor r10d, r10d
xor r9d, r9d
lea rbp, [rdi + 0x4c]
xor r12d, r12d
nop
nop
mov ecx, dword [rbp]
mov r8, r11
sub r8, rcx
mov dword [rsp + r9 + 0x50], ecx
dec r8
cmp r14b, byte [r8]
jne 0x4b75dd
movzx eax, byte [r8 + 1]
cmp byte [r11 + 1], al
jne 0x4b75dd
mov edx, 2
cmp ebx, edx
jbe 0x4b75c3
lea rcx, [r11 + 2]
sub r8, r11
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x4b75c3
inc edx
inc rcx
cmp edx, ebx
jb 0x4b75b1
mov dword [rsp + r9 + 0xa0], edx
cmp edx, dword [rsp + r12 + 0xa0]
jbe 0x4b75e9
mov r13d, r10d
mov r12, r9
jmp 0x4b75e9
mov dword [rsp + r9 + 0xa0], 0
inc r10d
add r9, 4
add rbp, 4
cmp r10d, 4
jb 0x4b7580
mov ecx, dword [rdi + 0x44]
mov eax, r13d
mov r10d, dword [rsp + rax*4 + 0xa0]
cmp r10d, ecx
mov dword [rsp + 0x100], r10d
jb 0x4b7641
mov rcx, qword [rsp + 0x110]
lea edx, [r10 - 1]
test edx, edx
mov dword [rcx], r13d
je 0x4b7639
mov rcx, qword [rdi]
add dword [rdi + 0x48], edx
call qword [rdi + 0x28]
mov r10d, dword [rsp + 0x100]
mov eax, r10d
jmp 0x4b8fca
cmp esi, ecx
jb 0x4b7673
mov ecx, r15d
mov edx, dword [rdi + rcx*4 + 0x32a14]
mov rcx, qword [rsp + 0x110]
add edx, 4
mov dword [rcx], edx
lea edx, [rsi - 1]
test edx, edx
je 0x4b766c
mov rcx, qword [rdi]
add dword [rdi + 0x48], edx
call qword [rdi + 0x28]
mov eax, esi
jmp 0x4b8fca
mov ecx, dword [rsp + 0x50]
mov rax, r11
inc ecx
sub rax, rcx
cmp esi, 2
movzx r12d, byte [rax]
jae 0x4b76ab
cmp r14b, r12b
je 0x4b76ab
cmp r10d, 2
jae 0x4b76ab
mov rcx, qword [rsp + 0x110]
mov eax, 1
mov dword [rcx], 0xffffffff
jmp 0x4b8fca
mov ebp, dword [rdi + 0x5c]
mov r9d, dword [rsp + 0x108]
mov edx, dword [rdi + 0x60]
mov r13d, dword [rdi + 0x70]
mov ecx, 8
mov eax, r9d
and eax, dword [rdi + 0x6c]
sub cl, dl
mov dword [rdi + 0x81c], ebp
movzx r8d, byte [r11 - 1]
and r13d, r9d
shr r8d, cl
mov ecx, edx
shl eax, cl
add r8d, eax
mov rax, qword [rdi + 0x78]
lea ecx, [r8 + r8*2]
shl ecx, 8
cmp ebp, 7
lea rbx, [rax + rcx*2]
jb 0x4b776b
movzx r8d, r14b
xor r11d, r11d
movzx r9d, r12b
bts r8d, 8
mov r10d, 0x100
nop
mov ecx, r8d
add r9d, r9d
mov eax, r10d
shr ecx, 8
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [rbx + rcx*2]
mov ecx, r8d
add r8d, r8d
shr ecx, 7
shr rdx, 4
mov eax, r8d
and ecx, 1
xor eax, r9d
neg rcx
not eax
sar rcx, 4
and r10d, eax
and ecx, 0x7f
xor rdx, rcx
add r11d, dword [rdi + rdx*4 + 0x32818]
cmp r8d, 0x10000
jb 0x4b7710
mov r10d, dword [rsp + 0x100]
jmp 0x4b77bc
movzx r8d, r14b
xor r9d, r9d
bts r8d, 8
nop
nop
nop
mov ecx, r8d
mov eax, r8d
add r8d, r8d
shr ecx, 7
shr rax, 8
movzx edx, word [rbx + rax*2]
and ecx, 1
neg rcx
shr rdx, 4
sar rcx, 4
and ecx, 0x7f
xor rdx, rcx
add r9d, dword [rdi + rdx*4 + 0x32818]
cmp r8d, 0x10000
jb 0x4b7780
mov r11d, r9d
mov rdx, rbp
mov r9d, r13d
shl rdx, 4
add rdx, r9
movzx eax, word [rdi + rdx*2 + 0x33eec]
shr rax, 4
mov eax, dword [rdi + rax*4 + 0x32818]
mov dword [rdi + 0x864], 0xffffffff
mov dword [rdi + 0x850], 0
lea ecx, [r11 + rax]
mov dword [rdi + 0x848], ecx
movzx eax, word [rdi + rdx*2 + 0x33eec]
xor rax, 0x7f0
shr rax, 4
mov ecx, dword [rdi + rax*4 + 0x32818]
movzx eax, word [rdi + rbp*2 + 0x3406c]
xor rax, 0x7f0
mov dword [rsp + 0x2c], ecx
shr rax, 4
cmp r12b, r14b
mov eax, dword [rdi + rax*4 + 0x32818]
lea r15d, [rcx + rax]
jne 0x4b788a
mov rax, rbp
shl rax, 4
add rax, r9
movzx ecx, word [rdi + rax*2 + 0x340cc]
movzx eax, word [rdi + rbp*2 + 0x34084]
shr rcx, 4
shr rax, 4
mov edx, dword [rdi + rcx*4 + 0x32818]
add edx, dword [rdi + rax*4 + 0x32818]
add edx, r15d
cmp edx, dword [rdi + 0x848]
jae 0x4b788e
xor ebp, ebp
mov dword [rdi + 0x848], edx
mov dword [rdi + 0x864], ebp
mov dword [rdi + 0x850], ebp
jmp 0x4b7890
xor ebp, ebp
jmp 0x4b7890
xor ebp, ebp
cmp esi, r10d
cmovae r10d, esi
cmp r10d, 2
mov dword [rsp + 0x100], r10d
jae 0x4b78bf
mov eax, dword [rdi + 0x864]
mov rcx, qword [rsp + 0x110]
mov dword [rcx], eax
mov eax, 1
jmp 0x4b8fca
mov eax, dword [rsp + 0x50]
mov dword [rdi + 0x860], ebp
mov edx, r10d
mov dword [rdi + 0x838], eax
mov eax, dword [rsp + 0x54]
mov dword [rdi + 0x83c], eax
mov eax, dword [rsp + 0x58]
mov dword [rdi + 0x840], eax
mov eax, dword [rsp + 0x5c]
mov dword [rdi + 0x844], eax
movsxd rax, r10d
lea rcx, [rax + rax*2]
add rcx, rcx
lea rax, [rdi + rcx*8 + 0x818]
nop
nop
nop
nop
add edx, 0xffffffff
mov dword [rax], 0x40000000
sub rax, 0x30
cmp edx, 2
jae 0x4b7910
mov r10d, ebp
movsxd r12, r13d
lea rbx, [rsp + 0xa0]
movsxd r8, dword [rbx]
cmp r8d, 2
jb 0x4b7a4e
test r10d, r10d
mov eax, dword [rdi + 0x5c]
jne 0x4b7980
mov rdx, rax
shl rax, 4
add rax, r12
movzx ecx, word [rdi + rax*2 + 0x340cc]
movzx eax, word [rdi + rdx*2 + 0x34084]
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
mov r9d, dword [rdi + rcx*4 + 0x32818]
add r9d, dword [rdi + rax*4 + 0x32818]
jmp 0x4b79fb
mov rcx, rax
movzx eax, word [rdi + rax*2 + 0x34084]
xor rax, 0x7f0
shr rax, 4
cmp r10d, 1
mov r9d, dword [rdi + rax*4 + 0x32818]
jne 0x4b79b9
movzx eax, word [rdi + rcx*2 + 0x3409c]
shr rax, 4
add r9d, dword [rdi + rax*4 + 0x32818]
jmp 0x4b79fb
movzx edx, word [rdi + rcx*2 + 0x340b4]
movzx ecx, word [rdi + rcx*2 + 0x3409c]
mov eax, 2
sub eax, r10d
shr rdx, 4
xor rcx, 0x7f0
sar rax, 4
shr rcx, 4
and eax, 0x7f
xor rdx, rax
mov eax, dword [rdi + rdx*4 + 0x32818]
add eax, dword [rdi + rcx*4 + 0x32818]
add r9d, eax
mov rax, r12
lea r11d, [r9 + r15]
imul rax, rax, 0x110
add rax, r8
lea rdx, [rdi + rax*4 + 0x39198]
lea rax, [r8 + r8*2]
add rax, rax
lea rcx, [rdi + rax*8 + 0x834]
mov eax, dword [rdx]
lea r9d, [r11 + rax]
cmp r9d, dword [rcx - 0x1c]
jae 0x4b7a3c
mov dword [rcx - 0x1c], r9d
mov dword [rcx - 4], ebp
mov dword [rcx], r10d
mov dword [rcx - 0x14], ebp
add r8d, 0xffffffff
sub rdx, 4
sub rcx, 0x30
cmp r8d, 2
jae 0x4b7a23
inc r10d
add rbx, 4
cmp r10d, 4
jb 0x4b7930
mov eax, dword [rdi + 0x5c]
mov r14d, dword [rsp + 0x2c]
mov r11d, dword [rsp + 0xa0]
movzx ecx, word [rdi + rax*2 + 0x3406c]
shr rcx, 4
add r14d, dword [rdi + rcx*4 + 0x32818]
cmp r11d, 2
jb 0x4b7a8e
inc r11d
jmp 0x4b7a94
mov r11d, 2
cmp r11d, esi
ja 0x4b7baa
cmp r11d, dword [rdi + 0x32a18]
mov esi, ebp
jbe 0x4b7abc
lea rax, [rdi + 0x32a18]
nop
add rax, 8
add esi, 2
cmp r11d, dword [rax]
ja 0x4b7ab0
mov r15d, dword [rsp + 0x34]
movsxd rcx, r11d
imul r12, r12, 0x110
movsxd rax, esi
add r12, rcx
lea r13, [rcx - 2]
lea rbp, [rdi + rax*4 + 0x32a18]
lea rax, [rcx + rcx*2]
lea r12, [rdi + r12*4 + 0x34950]
add rax, rax
lea r9, [rdi + rax*8 + 0x834]
mov ebx, dword [rbp + 4]
mov eax, dword [r12]
cmp r11d, 5
mov r8d, 3
lea r10d, [r14 + rax]
cmovb r8, r13
cmp ebx, 0x80
jae 0x4b7b26
shl r8, 7
add r8, rbx
add r10d, dword [rdi + r8*4 + 0x336ac]
jmp 0x4b7b69
mov ecx, 0x12
cmp ebx, 0x80000
mov eax, 6
cmovb ecx, eax
shl r8, 6
mov rax, rbx
shr rax, cl
movzx eax, byte [rax + rdi + 0x30818]
lea ecx, [rax + rcx*2]
mov eax, ecx
mov cl, bl
add rax, r8
and ecx, 0xf
mov eax, dword [rdi + rax*4 + 0x332ac]
add eax, dword [rdi + rcx*4 + 0x33eac]
add r10d, eax
cmp r10d, dword [r9 - 0x1c]
jae 0x4b7b83
xor ecx, ecx
lea eax, [rbx + 4]
mov dword [r9 - 0x1c], r10d
mov dword [r9], eax
mov dword [r9 - 4], ecx
mov dword [r9 - 0x14], ecx
cmp r11d, dword [rbp]
jne 0x4b7b95
add esi, 2
add rbp, 8
cmp esi, r15d
je 0x4b7ba8
inc r11d
add r12, 4
inc r13
add r9, 0x30
jmp 0x4b7af4
xor ebp, ebp
mov esi, 1
mov rbx, rsi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x78], rsi
cmp dword [rsp + 0x100], ebx
je 0x4b8e12
lea r12, [0x00400000]
jmp 0x4b7bd3
xor ebp, ebp
mov rcx, qword [rdi]
mov qword [rsp + 0x68], rbp
call qword [rdi + 0x10]
mov rcx, qword [rdi]
lea rdx, [rdi + 0x32a18]
mov dword [rdi + 0x40], eax
call qword [rdi + 0x20]
test eax, eax
mov dword [rsp + 0x34], eax
je 0x4b7c6c
mov esi, eax
mov ebp, dword [rdi + rsi*4 + 0x32a10]
cmp ebp, dword [rdi + 0x44]
mov qword [rsp + 0x68], rbp
jne 0x4b7c68
mov ebx, dword [rdi + 0x40]
mov rcx, qword [rdi]
mov eax, 0x111
cmp ebx, eax
cmova ebx, eax
call qword [rdi + 0x18]
mov ecx, dword [rdi + rsi*4 + 0x32a14]
lea r11, [rax - 1]
mov rdx, 0xffffffffffffffff
sub rdx, rcx
mov ecx, ebx
add rbp, r11
add rcx, r11
cmp rbp, rcx
je 0x4b7c51
nop
movzx eax, byte [rdx + rbp]
cmp byte [rbp], al
jne 0x4b7c51
inc rbp
cmp rbp, rcx
jne 0x4b7c40
mov esi, dword [rsp + 0x28]
mov eax, dword [rsp + 0x34]
mov rbx, qword [rsp + 0x78]
sub ebp, r11d
mov qword [rsp + 0x68], rbp
jmp 0x4b7c6c
mov esi, dword [rsp + 0x28]
inc dword [rdi + 0x48]
cmp ebp, dword [rdi + 0x44]
jae 0x4b8ee2
inc dword [rsp + 0x108]
lea rbx, [rbx + rbx*2]
add rbx, rbx
mov r8d, dword [rdi + rbx*8 + 0x820]
mov edx, dword [rdi + rbx*8 + 0x830]
test r8d, r8d
je 0x4b7d08
add edx, 0xffffffff
cmp dword [rdi + rbx*8 + 0x824], 0
je 0x4b7cee
mov eax, dword [rdi + rbx*8 + 0x828]
lea rcx, [rax + rax*2]
add rcx, rcx
cmp dword [rdi + rbx*8 + 0x82c], 4
mov eax, dword [rdi + rcx*8 + 0x81c]
jae 0x4b7cda
mov ecx, dword [r12 + rax*4 + 0xd9c80]
mov eax, ecx
mov ecx, dword [r12 + rax*4 + 0xd9c20]
jmp 0x4b7d16
mov ecx, dword [r12 + rax*4 + 0xd9c50]
mov eax, ecx
mov ecx, dword [r12 + rax*4 + 0xd9c20]
jmp 0x4b7d16
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov ecx, dword [rdi + rcx*8 + 0x81c]
mov eax, ecx
mov ecx, dword [r12 + rax*4 + 0xd9c20]
jmp 0x4b7d16
lea rcx, [rdx + rdx*2]
add rcx, rcx
mov ecx, dword [rdi + rcx*8 + 0x81c]
lea eax, [rsi - 1]
cmp edx, eax
jne 0x4b7d4f
cmp dword [rdi + rbx*8 + 0x834], 0
jne 0x4b7d3b
mov eax, ecx
mov r14d, dword [r12 + rax*4 + 0xd9cb0]
mov dword [rsp + 0x24], r14d
jmp 0x4b7e39
mov eax, ecx
mov r14d, dword [r12 + rax*4 + 0xd9c20]
mov dword [rsp + 0x24], r14d
jmp 0x4b7e39
test r8d, r8d
je 0x4b7d7e
cmp dword [rdi + rbx*8 + 0x824], 0
je 0x4b7d7e
mov edx, dword [rdi + rbx*8 + 0x828]
mov r8d, dword [rdi + rbx*8 + 0x82c]
mov eax, ecx
mov r14d, dword [r12 + rax*4 + 0xd9c80]
mov dword [rsp + 0x24], r14d
jmp 0x4b7dac
mov r8d, dword [rdi + rbx*8 + 0x834]
cmp r8d, 4
jae 0x4b7d9d
mov eax, ecx
mov r14d, dword [r12 + rax*4 + 0xd9c80]
mov dword [rsp + 0x24], r14d
jmp 0x4b7dac
mov eax, ecx
mov r14d, dword [r12 + rax*4 + 0xd9c50]
mov dword [rsp + 0x24], r14d
mov eax, edx
lea rcx, [rax + rax*2]
add rcx, rcx
cmp r8d, 4
lea rsi, [rdi + rcx*8 + 0x818]
jae 0x4b7e1c
mov ebp, r8d
mov eax, dword [rsi + rbp*4 + 0x20]
mov dword [rsp + 0x50], eax
mov eax, 1
cmp r8d, eax
mov r9d, eax
jb 0x4b7dfe
mov r8, rbp
lea rdx, [rsi + 0x20]
lea rcx, [rsp + 0x54]
shl r8, 2
call sub.msvcrt.dll_memcpy
lea r9d, [rbp + 1]
lea rax, [rbp + 1]
cmp r9d, 4
jae 0x4b7e39
mov r8d, 4
lea rcx, [rsp + rax*4 + 0x50]
lea rdx, [rsi + rax*4 + 0x20]
sub r8d, r9d
shl r8, 2
call sub.msvcrt.dll_memcpy
jmp 0x4b7e39
lea eax, [r8 - 4]
mov dword [rsp + 0x50], eax
mov eax, dword [rsi + 0x20]
mov dword [rsp + 0x54], eax
mov eax, dword [rsi + 0x24]
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x28]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x54]
mov esi, dword [rsp + 0x50]
mov r15d, dword [rdi + rbx*8 + 0x818]
mov dword [rdi + rbx*8 + 0x83c], eax
mov eax, dword [rsp + 0x58]
mov dword [rdi + rbx*8 + 0x81c], r14d
mov dword [rdi + rbx*8 + 0x840], eax
mov eax, dword [rsp + 0x5c]
mov dword [rdi + rbx*8 + 0x838], esi
mov dword [rdi + rbx*8 + 0x844], eax
mov rcx, qword [rdi]
xor r12d, r12d
call qword [rdi + 0x18]
movzx ebp, byte [rax - 1]
mov r9d, dword [rsp + 0x108]
lea r8, [rax - 1]
mov eax, dword [rdi + 0x70]
lea edx, [rsi + 1]
and eax, r9d
mov rcx, r8
mov qword [rsp + 0x40], r8
movzx r8d, byte [r8 - 1]
sub rcx, rdx
mov edx, dword [rdi + 0x60]
movzx r13d, byte [rcx]
mov dword [rsp + 0x2c], eax
mov ecx, r14d
mov qword [rsp + 0x90], rcx
add rcx, rcx
lea r14, [rax + rcx*8]
mov ecx, 8
movzx eax, word [rdi + r14*2 + 0x33eec]
sub cl, dl
shr rax, 4
shr r8d, cl
mov ecx, edx
mov eax, dword [rdi + rax*4 + 0x32818]
lea r10d, [r15 + rax]
mov eax, r9d
and eax, dword [rdi + 0x6c]
mov dword [rsp + 0x20], r10d
shl eax, cl
add r8d, eax
mov rax, qword [rdi + 0x78]
lea ecx, [r8 + r8*2]
shl ecx, 8
cmp dword [rsp + 0x24], 7
lea rsi, [rax + rcx*2]
jb 0x4b7f88
movzx r8d, bpl
xor r11d, r11d
movzx r9d, r13b
bts r8d, 8
mov r10d, 0x100
nop
nop
nop
mov ecx, r8d
add r9d, r9d
mov eax, r10d
shr ecx, 8
and eax, r9d
add eax, r10d
add ecx, eax
movzx edx, word [rsi + rcx*2]
mov ecx, r8d
add r8d, r8d
shr ecx, 7
shr rdx, 4
mov eax, r8d
and ecx, 1
xor eax, r9d
neg rcx
not eax
sar rcx, 4
and r10d, eax
and ecx, 0x7f
xor rdx, rcx
add r11d, dword [rdi + rdx*4 + 0x32818]
cmp r8d, 0x10000
jb 0x4b7f30
mov r10d, dword [rsp + 0x20]
jmp 0x4b7fdc
movzx r8d, bpl
xor r9d, r9d
bts r8d, 8
nop
nop
nop
mov ecx, r8d
mov eax, r8d
add r8d, r8d
shr ecx, 7
shr rax, 8
movzx edx, word [rsi + rax*2]
and ecx, 1
neg rcx
shr rdx, 4
sar rcx, 4
and ecx, 0x7f
xor rdx, rcx
add r9d, dword [rdi + rdx*4 + 0x32818]
cmp r8d, 0x10000
jb 0x4b7fa0
mov r11d, r9d
add r10d, r11d
cmp r10d, dword [rdi + rbx*8 + 0x848]
mov dword [rsp + 0x20], r10d
jae 0x4b801d
mov eax, dword [rsp + 0x28]
xor r9d, r9d
mov dword [rdi + rbx*8 + 0x848], r10d
mov dword [rdi + rbx*8 + 0x864], 0xffffffff
mov dword [rdi + rbx*8 + 0x850], r9d
mov dword [rdi + rbx*8 + 0x860], eax
lea r12d, [r9 + 1]
jmp 0x4b8020
xor r9d, r9d
movzx eax, word [rdi + r14*2 + 0x33eec]
mov rsi, qword [rsp + 0x90]
xor rax, 0x7f0
shr rax, 4
mov eax, dword [rdi + rax*4 + 0x32818]
lea ecx, [r15 + rax]
movzx eax, word [rdi + rsi*2 + 0x3406c]
xor rax, 0x7f0
mov dword [rsp + 0x74], ecx
shr rax, 4
cmp r13b, bpl
mov eax, dword [rdi + rax*4 + 0x32818]
lea r8d, [rcx + rax]
mov dword [rsp + 0x98], r8d
jne 0x4b80e7
mov r15d, dword [rsp + 0x28]
cmp dword [rdi + rbx*8 + 0x860], r15d
jae 0x4b808d
cmp dword [rdi + rbx*8 + 0x864], 0
je 0x4b80ec
movzx ecx, word [rdi + r14*2 + 0x340cc]
movzx eax, word [rdi + rsi*2 + 0x34084]
shr rcx, 4
shr rax, 4
mov edx, dword [rdi + rcx*4 + 0x32818]
add edx, dword [rdi + rax*4 + 0x32818]
add edx, r8d
cmp edx, dword [rdi + rbx*8 + 0x848]
ja 0x4b80ec
mov dword [rdi + rbx*8 + 0x848], edx
mov dword [rdi + rbx*8 + 0x860], r15d
mov dword [rdi + rbx*8 + 0x864], r9d
mov dword [rdi + rbx*8 + 0x850], r9d
mov r12d, 1
jmp 0x4b80ec
mov r15d, dword [rsp + 0x28]
mov ecx, dword [rdi + 0x40]
mov eax, 0xfff
sub eax, r15d
cmp eax, ecx
cmovb ecx, eax
cmp ecx, 2
mov dword [rsp + 0x80], ecx
jb 0x4b8de7
mov r10d, dword [rdi + 0x44]
cmp ecx, r10d
mov r14d, r10d
cmovbe r14d, ecx
test r12d, r12d
mov dword [rsp + 0x38], r14d
jne 0x4b82c7
cmp r13b, bpl
je 0x4b82ce
mov r12, qword [rsp + 0x40]
mov eax, dword [rsp + 0x50]
mov edx, 1
mov r8, r12
mov r9, rdx
sub r8, rax
dec r8
inc r10d
cmp r10d, ecx
cmova r10d, ecx
cmp r10d, edx
jbe 0x4b8178
lea rcx, [r12 + 1]
sub r8, r12
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x4b8178
inc edx
inc r9
inc rcx
cmp edx, r10d
jb 0x4b8162
dec edx
lea r11, [r9 - 1]
cmp edx, 2
jb 0x4b82d3
mov r8d, dword [rsp + 0x108]
movsxd rbp, dword [rsp + 0x100]
lea rcx, [0x00400000]
mov r10d, dword [rcx + rsi*4 + 0xd9c20]
inc r8d
lea edx, [rdx + r15 + 1]
and r8d, dword [rdi + 0x70]
movzx ecx, word [rdi + r10*2 + 0x3406c]
mov rsi, r10
shl rsi, 4
xor rcx, 0x7f0
add rsi, r8
shr rcx, 4
movzx eax, word [rdi + rsi*2 + 0x33eec]
mov r9d, dword [rdi + rcx*4 + 0x32818]
xor rax, 0x7f0
shr rax, 4
add r9d, dword [rdi + rax*4 + 0x32818]
mov rax, qword [rsp + 0x78]
add r9d, dword [rsp + 0x20]
cmp ebp, edx
lea rbx, [rax + r11 + 1]
jae 0x4b823f
lea rax, [rbp + rbp*2]
sub edx, ebp
add rax, rax
add ebp, edx
lea rcx, [rdi + rax*8 + 0x818]
mov eax, edx
mov dword [rsp + 0x100], ebp
nop
nop
nop
nop
add rcx, 0x30
dec rax
mov dword [rcx], 0x40000000
jne 0x4b8230
movzx ecx, word [rdi + rsi*2 + 0x340cc]
movzx eax, word [rdi + r10*2 + 0x34084]
imul r8, r8, 0x110
xor rcx, 0x7f0
shr rax, 4
add r8, r11
shr rcx, 4
mov edx, dword [rdi + rcx*4 + 0x32818]
lea rcx, [rbx + rbx*2]
add edx, dword [rdi + rax*4 + 0x32818]
add rcx, rcx
add edx, dword [rdi + r8*4 + 0x39198]
add edx, r9d
cmp edx, dword [rdi + rcx*8 + 0x818]
jae 0x4b82d3
lea eax, [r15 + 1]
mov dword [rdi + rcx*8 + 0x818], edx
mov dword [rdi + rcx*8 + 0x834], 0
mov dword [rdi + rcx*8 + 0x820], 1
mov dword [rdi + rcx*8 + 0x824], 0
mov dword [rdi + rcx*8 + 0x830], eax
jmp 0x4b82d3
mov r12, qword [rsp + 0x40]
jmp 0x4b82d3
mov r12, qword [rsp + 0x40]
movsxd rsi, dword [rsp + 0x100]
movsxd rbp, dword [rsp + 0x2c]
movsxd r10, dword [rsp + 0x24]
lea rax, [rsp + 0x50]
xor r11d, r11d
mov r9, rsi
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0xb0], rbp
mov dword [rsp + 0x20], 2
mov dword [rsp + 0x30], r11d
mov qword [rsp + 0x88], rax
nop
nop
nop
nop
mov eax, dword [rax]
mov rbx, r12
sub rbx, rax
movzx eax, byte [rbx - 1]
cmp byte [r12], al
jne 0x4b8836
movzx eax, byte [rbx]
cmp byte [r12 + 1], al
jne 0x4b8836
mov r8d, 2
cmp r14d, r8d
mov r13, r8
jbe 0x4b8376
lea rdx, [rbx - 1]
lea rcx, [r12 + 2]
sub rdx, r12
nop
movzx eax, byte [rdx + rcx]
cmp byte [rcx], al
jne 0x4b8376
inc r8d
inc r13
inc rcx
cmp r8d, r14d
jb 0x4b8360
lea edx, [r8 + r15]
cmp esi, edx
jae 0x4b83bf
sub edx, esi
lea rax, [r9 + r9*2]
add rax, rax
add esi, edx
lea rcx, [rdi + rax*8 + 0x818]
mov eax, edx
mov dword [rsp + 0x100], esi
add r9, rax
mov qword [rsp + 0x48], r9
nop
nop
nop
nop
add rcx, 0x30
dec rax
mov dword [rcx], 0x40000000
jne 0x4b83b0
test r11d, r11d
mov esi, r8d
mov dword [rsp + 0x60], r8d
jne 0x4b8408
mov rax, r10
shl rax, 4
add rax, rbp
movzx ecx, word [rdi + rax*2 + 0x340cc]
movzx eax, word [rdi + r10*2 + 0x34084]
xor rcx, 0x7f0
shr rax, 4
shr rcx, 4
mov r9d, dword [rdi + rcx*4 + 0x32818]
add r9d, dword [rdi + rax*4 + 0x32818]
jmp 0x4b8484
movzx eax, word [rdi + r10*2 + 0x34084]
xor rax, 0x7f0
shr rax, 4
cmp r11d, 1
mov r9d, dword [rdi + rax*4 + 0x32818]
jne 0x4b8440
movzx eax, word [rdi + r10*2 + 0x3409c]
shr rax, 4
add r9d, dword [rdi + rax*4 + 0x32818]
jmp 0x4b8484
movzx edx, word [rdi + r10*2 + 0x340b4]
movzx ecx, word [rdi + r10*2 + 0x3409c]
mov eax, 2
sub eax, r11d
shr rdx, 4
xor rcx, 0x7f0
sar rax, 4
shr rcx, 4
and eax, 0x7f
xor rdx, rax
mov eax, dword [rdi + rdx*4 + 0x32818]
add eax, dword [rdi + rcx*4 + 0x32818]
add r9d, eax
mov eax, dword [rsp + 0x98]
lea r10d, [r9 + rax]
mov rax, rbp
mov dword [rsp + 0x70], r10d
imul rax, rax, 0x110
mov qword [rsp + 0xb8], rax
add rax, r13
lea r9, [rdi + rax*4 + 0x39198]
mov rax, qword [rsp + 0x78]
add rax, r13
lea rcx, [rax + rax*2]
add rcx, rcx
lea rdx, [rdi + rcx*8 + 0x834]
nop
nop
mov eax, dword [r9]
lea ecx, [r10 + rax]
cmp ecx, dword [rdx - 0x1c]
jae 0x4b84ed
mov dword [rdx - 0x1c], ecx
mov dword [rdx - 4], r15d
mov dword [rdx], r11d
mov dword [rdx - 0x14], 0
add r8d, 0xffffffff
sub r9, 4
sub rdx, 0x30
cmp r8d, 2
jae 0x4b84d0
test r11d, r11d
jne 0x4b850b
lea eax, [rsi + 1]
mov dword [rsp + 0x20], eax
mov eax, dword [rdi + 0x44]
lea r9d, [rsi + 1]
lea r10, [r13 + 1]
lea edx, [r9 + rax]
mov eax, dword [rsp + 0x80]
cmp edx, eax
cmova edx, eax
cmp r9d, edx
jae 0x4b854d
lea r8, [rbx - 1]
lea rcx, [r10 + r12]
sub r8, r12
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x4b854d
inc r9d
inc r10
inc rcx
cmp r9d, edx
jb 0x4b8536
mov eax, 0xffffffff
sub eax, esi
add r9d, eax
mov rax, 0xffffffffffffffff
sub rax, r13
add r10, rax
cmp r9d, 2
mov qword [rsp + 0xa0], r10
jb 0x4b8825
mov eax, dword [rsp + 0x108]
mov r8, qword [rsp + 0x40]
movzx ebp, byte [rbx + r13 - 1]
movzx ebx, byte [r13 + r8]
movzx r14d, byte [r8 + r13 - 1]
mov r15, qword [rdi + 0x78]
lea r11d, [rsi + rax]
mov esi, dword [rdi + 0x60]
xor r10d, r10d
mov eax, r11d
and r11d, dword [rdi + 0x6c]
mov ecx, esi
and eax, dword [rdi + 0x70]
bts ebx, 8
mov r12d, 0x100
mov dword [rsp + 0x2c], eax
shl r11d, cl
nop
mov ecx, 8
add ebp, ebp
mov eax, r12d
sub cl, sil
and eax, ebp
mov edx, r14d
shr edx, cl
add eax, r12d
mov ecx, ebx
shr ecx, 8
add edx, r11d
add eax, ecx
mov ecx, ebx
lea edx, [rdx + rdx*2]
shr ecx, 7
shl edx, 8
add ebx, ebx
add rdx, rax
and ecx, 1
mov eax, ebx
movzx r8d, word [r15 + rdx*2]
neg rcx
xor eax, ebp
sar rcx, 4
shr r8, 4
not eax
and ecx, 0x7f
and r12d, eax
xor r8, rcx
add r10d, dword [rdi + r8*4 + 0x32818]
cmp ebx, 0x10000
jb 0x4b85c0
movsxd rax, dword [rsp + 0x24]
mov r12d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0x28]
lea r11, [0x00400000]
mov edx, dword [r11 + rax*4 + 0xd9c80]
mov eax, dword [rsp + 0x2c]
mov esi, dword [r11 + rdx*4 + 0xd9c20]
mov rcx, rdx
shl rcx, 4
mov rbp, rsi
add rcx, rax
mov rax, qword [rsp + 0xb8]
shl rbp, 4
movzx ecx, word [rdi + rcx*2 + 0x33eec]
add rax, r13
mov r13d, dword [rsp + 0x100]
shr rcx, 4
mov r8d, dword [rdi + rcx*4 + 0x32818]
movzx ecx, word [rdi + rsi*2 + 0x3406c]
add r8d, dword [rdi + rax*4 + 0x39198]
mov eax, dword [rsp + 0x108]
xor rcx, 0x7f0
lea eax, [r12 + rax + 1]
add r8d, r10d
mov r10, qword [rsp + 0xa0]
and eax, dword [rdi + 0x70]
add r8d, dword [rsp + 0x70]
shr rcx, 4
mov ebx, dword [rdi + rcx*4 + 0x32818]
mov r11d, eax
add rbp, r11
movzx eax, word [rdi + rbp*2 + 0x33eec]
xor rax, 0x7f0
shr rax, 4
add ebx, dword [rdi + rax*4 + 0x32818]
lea eax, [r9 + r12]
add ebx, r8d
lea r8d, [rax + r15 + 1]
cmp r13d, r8d
jae 0x4b8741
mov r9, qword [rsp + 0x48]
lea rax, [r9 + r9*2]
add rax, rax
lea rcx, [rdi + rax*8 + 0x818]
mov eax, r8d
sub eax, r13d
add r13d, eax
mov edx, eax
add r9, rdx
mov dword [rsp + 0x100], r13d
mov qword [rsp + 0x48], r9
nop
nop
nop
add rcx, 0x30
dec rdx
mov dword [rcx], 0x40000000
jne 0x4b8730
jmp 0x4b8746
mov r9, qword [rsp + 0x48]
movzx ecx, word [rdi + rbp*2 + 0x340cc]
movzx eax, word [rdi + rsi*2 + 0x34084]
imul r11, r11, 0x110
xor rcx, 0x7f0
shr rax, 4
add r11, r10
shr rcx, 4
mov edx, dword [rdi + rcx*4 + 0x32818]
lea rcx, [r8 + r8*2]
add edx, dword [rdi + rax*4 + 0x32818]
add rcx, rcx
add edx, dword [rdi + r11*4 + 0x39198]
add edx, ebx
cmp edx, dword [rdi + rcx*8 + 0x818]
jae 0x4b8800
mov r11d, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x38]
mov rbp, qword [rsp + 0xb0]
mov esi, dword [rsp + 0x100]
movsxd r10, dword [rsp + 0x24]
lea eax, [r12 + r15 + 1]
mov r12, qword [rsp + 0x40]
mov dword [rdi + rcx*8 + 0x82c], r11d
mov dword [rdi + rcx*8 + 0x818], edx
mov dword [rdi + rcx*8 + 0x830], eax
mov dword [rdi + rcx*8 + 0x834], 0
mov dword [rdi + rcx*8 + 0x820], 1
mov dword [rdi + rcx*8 + 0x824], 1
mov dword [rdi + rcx*8 + 0x828], r15d
jmp 0x4b8836
mov r11d, dword [rsp + 0x30]
mov r14d, dword [rsp + 0x38]
mov rbp, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x40]
mov esi, dword [rsp + 0x100]
movsxd r10, dword [rsp + 0x24]
jmp 0x4b8836
mov r9, qword [rsp + 0x48]
mov esi, dword [rsp + 0x100]
movsxd r10, dword [rsp + 0x24]
mov rax, qword [rsp + 0x88]
inc r11d
add rax, 4
cmp r11d, 4
mov dword [rsp + 0x30], r11d
mov qword [rsp + 0x88], rax
jb 0x4b8320
mov rcx, qword [rsp + 0x68]
cmp ecx, r14d
jbe 0x4b889a
lea r9, [rdi + 0x32a18]
xor edx, edx
xor eax, eax
cmp r14d, dword [r9]
mov ecx, r14d
jbe 0x4b888d
nop
nop
add rax, 2
add edx, 2
cmp r14d, dword [r9 + rax*4]
ja 0x4b8880
add edx, 2
mov dword [r9 + rax*4], r14d
mov dword [rsp + 0x34], edx
jmp 0x4b88a1
lea r9, [rdi + 0x32a18]
movsxd rbx, dword [rsp + 0x20]
cmp ecx, ebx
jb 0x4b8de7
mov rax, qword [rsp + 0x90]
mov r8d, dword [rsp + 0x74]
lea edx, [rcx + r15]
movzx eax, word [rdi + rax*2 + 0x3406c]
shr rax, 4
mov eax, dword [rdi + rax*4 + 0x32818]
add r8d, eax
cmp esi, edx
movsxd rax, esi
mov dword [rsp + 0x70], r8d
jae 0x4b890f
lea rax, [rax + rax*2]
sub edx, esi
add rax, rax
add esi, edx
lea rcx, [rdi + rax*8 + 0x818]
mov eax, edx
mov dword [rsp + 0x100], esi
nop
add rcx, 0x30
dec rax
mov dword [rcx], 0x40000000
jne 0x4b8900
xor edx, edx
xor eax, eax
cmp ebx, dword [r9]
mov dword [rsp + 0x30], edx
jbe 0x4b8931
nop
add rax, 2
add edx, 2
cmp ebx, dword [r9 + rax*4]
ja 0x4b8920
mov dword [rsp + 0x30], edx
mov r15d, dword [r9 + rax*4 + 4]
mov r14d, dword [rsp + 0x108]
lea r9, [r9 + rax*4]
cmp r15d, 0x80000
mov ecx, 0x12
mov eax, 6
cmovb ecx, eax
mov rax, r15
mov qword [rsp + 0x88], r9
shr rax, cl
mov r12, rbx
mov qword [rsp + 0x68], rbx
imul rbp, rbp, 0x110
movzx eax, byte [rax + rdi + 0x30818]
add rbp, rbx
lea r10d, [rax + rcx*2]
movsxd rax, esi
lea rbp, [rdi + rbp*4 + 0x34950]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0x2c], r10d
add rax, rbx
mov qword [rsp + 0x48], rbp
lea rcx, [rax + rax*2]
shl rcx, 4
add r14d, 0xffffffff
lea rsi, [rcx + rdi + 0x834]
mov dword [rsp + 0x38], r14d
mov qword [rsp + 0x98], rsi
nop
nop
cmp ebx, 5
mov eax, dword [rbp]
lea r13d, [r8 + rax]
jae 0x4b89e3
lea rdx, [r12 - 2]
jmp 0x4b89e8
mov edx, 3
cmp r15d, 0x80
jae 0x4b8a05
shl rdx, 7
mov r8d, r15d
add rdx, r8
add r13d, dword [rdi + rdx*4 + 0x336ac]
jmp 0x4b8a29
shl rdx, 6
mov eax, r10d
mov cl, r15b
add rdx, rax
and ecx, 0xf
mov r8d, r15d
mov eax, dword [rdi + rdx*4 + 0x332ac]
add eax, dword [rdi + rcx*4 + 0x33eac]
add r13d, eax
cmp r13d, dword [rsi - 0x1c]
jae 0x4b8a47
mov eax, dword [rsp + 0x28]
mov dword [rsi - 0x1c], r13d
mov dword [rsi - 0x14], 0
mov dword [rsi - 4], eax
lea eax, [r15 + 4]
mov dword [rsi], eax
cmp ebx, dword [r9]
jne 0x4b8dba
mov eax, dword [rdi + 0x44]
mov rcx, qword [rsp + 0x40]
lea r10, [r12 + 1]
mov r11, rcx
sub r11, r8
dec r11
inc ebx
lea edx, [rbx + rax]
mov eax, dword [rsp + 0x80]
mov r9d, ebx
cmp edx, eax
cmova edx, eax
cmp ebx, edx
jae 0x4b8aac
mov r8, qword [rsp + 0x40]
lea rcx, [r11 + r12 + 1]
sub r8, r11
nop
nop
movzx eax, byte [rcx]
cmp byte [r8 + rcx], al
jne 0x4b8aa7
inc r9d
inc r10
inc rcx
cmp r9d, edx
jb 0x4b8a90
mov rcx, qword [rsp + 0x40]
mov eax, 0xffffffff
sub eax, dword [rsp + 0x20]
add r9d, eax
mov rax, 0xffffffffffffffff
sub rax, r12
mov dword [rsp + 0x74], r9d
add r10, rax
cmp r9d, 2
mov qword [rsp + 0xa0], r10
jb 0x4b8d52
movzx esi, byte [r11 + r12]
movzx r11d, byte [rcx + r12]
movzx r10d, byte [rcx + r12 - 1]
mov r12d, dword [rdi + 0x60]
mov r9, qword [rdi + 0x78]
add ebx, r14d
mov eax, ebx
and ebx, dword [rdi + 0x6c]
mov ecx, r12d
and eax, dword [rdi + 0x70]
xor r14d, r14d
bts r11d, 8
mov ebp, 0x100
shl ebx, cl
mov dword [rsp + 0x60], eax
nop
nop
nop
mov ecx, 8
add esi, esi
mov eax, ebp
sub cl, r12b
and eax, esi
mov edx, r10d
shr edx, cl
add eax, ebp
mov ecx, r11d
shr ecx, 8
add edx, ebx
add eax, ecx
mov ecx, r11d
lea edx, [rdx + rdx*2]
shr ecx, 7
shl edx, 8
add r11d, r11d
add rdx, rax
and ecx, 1
mov eax, r11d
movzx r8d, word [r9 + rdx*2]
neg rcx
xor eax, esi
sar rcx, 4
shr r8, 4
not eax
and ecx, 0x7f
and ebp, eax
xor r8, rcx
add r14d, dword [rdi + r8*4 + 0x32818]
cmp r11d, 0x10000
jb 0x4b8b20
mov r11d, dword [rsp + 0x60]
movsxd rax, dword [rsp + 0x24]
mov r9d, dword [rsp + 0x74]
mov r12d, dword [rsp + 0x100]
mov r10, qword [rsp + 0xa0]
lea rbx, [0x00400000]
mov edx, dword [rbx + rax*4 + 0xd9c50]
mov rcx, rdx
mov esi, dword [rbx + rdx*4 + 0xd9c20]
shl rcx, 4
add rcx, r11
inc r11d
mov rbp, rsi
movzx eax, word [rdi + rcx*2 + 0x33eec]
and r11d, dword [rdi + 0x70]
movzx ecx, word [rdi + rsi*2 + 0x3406c]
shr rax, 4
shl rbp, 4
xor rcx, 0x7f0
mov r8d, dword [rdi + rax*4 + 0x32818]
add rbp, r11
shr rcx, 4
movzx eax, word [rdi + rbp*2 + 0x33eec]
mov ebx, dword [rdi + rcx*4 + 0x32818]
add r8d, r14d
xor rax, 0x7f0
add r8d, r13d
shr rax, 4
add ebx, dword [rdi + rax*4 + 0x32818]
mov eax, dword [rsp + 0x20]
add eax, r9d
mov r9d, dword [rsp + 0x28]
add ebx, r8d
lea r8d, [rax + r9 + 1]
cmp r12d, r8d
jae 0x4b8c7f
mov r14, qword [rsp + 0x90]
lea rax, [r14 + r14*2]
add rax, rax
lea rcx, [rdi + rax*8 + 0x818]
mov eax, r8d
sub eax, r12d
add r12d, eax
mov edx, eax
add r14, rdx
mov dword [rsp + 0x100], r12d
mov qword [rsp + 0x90], r14
nop
add rcx, 0x30
dec rdx
mov dword [rcx], 0x40000000
jne 0x4b8c70
movzx ecx, word [rdi + rbp*2 + 0x340cc]
movzx eax, word [rdi + rsi*2 + 0x34084]
imul r11, r11, 0x110
xor rcx, 0x7f0
shr rax, 4
add r11, r10
shr rcx, 4
mov edx, dword [rdi + rcx*4 + 0x32818]
lea rcx, [r8 + r8*2]
add edx, dword [rdi + rax*4 + 0x32818]
shl rcx, 4
add edx, dword [rdi + r11*4 + 0x39198]
add edx, ebx
cmp edx, dword [rcx + rdi + 0x818]
jae 0x4b8d35
mov ebx, dword [rsp + 0x20]
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x38]
lea eax, [rbx + r9 + 1]
mov dword [rcx + rdi + 0x830], eax
lea eax, [r15 + 4]
mov dword [rcx + rdi + 0x818], edx
mov dword [rcx + rdi + 0x834], 0
mov dword [rcx + rdi + 0x820], 1
mov dword [rcx + rdi + 0x824], 1
mov dword [rcx + rdi + 0x82c], eax
mov dword [rcx + rdi + 0x828], r9d
jmp 0x4b8d56
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x98]
mov rbp, qword [rsp + 0x48]
mov r14d, dword [rsp + 0x38]
mov ebx, dword [rsp + 0x20]
jmp 0x4b8d56
mov ebx, dword [rsp + 0x20]
mov edx, dword [rsp + 0x30]
mov r9, qword [rsp + 0x88]
add edx, 2
add r9, 8
cmp edx, dword [rsp + 0x34]
mov dword [rsp + 0x30], edx
mov qword [rsp + 0x88], r9
je 0x4b8de7
mov r15d, dword [r9 + 4]
cmp r15d, 0x80
jb 0x4b8db5
cmp r15d, 0x80000
mov eax, 6
mov ecx, 0x12
cmovb ecx, eax
mov rax, r15
shr rax, cl
movzx eax, byte [rax + rdi + 0x30818]
lea r10d, [rax + rcx*2]
mov dword [rsp + 0x2c], r10d
jmp 0x4b8dba
mov r10d, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x70]
inc ebx
inc r12
add rbp, 4
add rsi, 0x30
mov dword [rsp + 0x20], ebx
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x48], rbp
jmp 0x4b89d0
mov esi, dword [rsp + 0x28]
mov rbx, qword [rsp + 0x78]
lea r12, [0x00400000]
inc esi
inc rbx
cmp esi, dword [rsp + 0x100]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x78], rbx
jne 0x4b7bd1
mov eax, esi
lea rcx, [rax + rax*2]
add rcx, rcx
mov r9d, dword [rdi + rcx*8 + 0x830]
mov r10d, dword [rdi + rcx*8 + 0x834]
mov dword [rdi + 0x30], esi
nop
mov eax, esi
lea rdx, [rax + rax*2]
add rdx, rdx
cmp dword [rdi + rdx*8 + 0x820], 0
je 0x4b8e9c
mov eax, r9d
xor r8d, r8d
lea rcx, [rax + rax*2]
lea eax, [r9 - 1]
add rcx, rcx
mov dword [rdi + rcx*8 + 0x834], 0xffffffff
mov dword [rdi + rcx*8 + 0x820], r8d
mov dword [rdi + rcx*8 + 0x830], eax
cmp dword [rdi + rdx*8 + 0x824], r8d
je 0x4b8e9c
mov dword [rdi + rcx*8 + 0x7f0], r8d
mov eax, dword [rdi + rdx*8 + 0x828]
mov dword [rdi + rcx*8 + 0x800], eax
mov eax, dword [rdi + rdx*8 + 0x82c]
mov dword [rdi + rcx*8 + 0x804], eax
mov ecx, r9d
mov r8d, r9d
mov edx, r10d
lea rax, [rcx + rcx*2]
add rax, rax
mov r10d, dword [rdi + rax*8 + 0x834]
mov r9d, dword [rdi + rax*8 + 0x830]
lea rax, [rcx + rcx*2]
add rax, rax
test r8d, r8d
mov dword [rdi + rax*8 + 0x830], esi
mov esi, r8d
mov dword [rdi + rax*8 + 0x834], edx
jne 0x4b8e30
jmp 0x4b8fb1
mov dword [rdi + 0x3c], eax
mov dword [rdi + 0x38], ebp
mov eax, esi
lea rcx, [rax + rax*2]
add rcx, rcx
mov r9d, dword [rdi + rcx*8 + 0x830]
mov r10d, dword [rdi + rcx*8 + 0x834]
mov dword [rdi + 0x30], esi
mov eax, esi
lea rdx, [rax + rax*2]
add rdx, rdx
cmp dword [rdi + rdx*8 + 0x820], 0
je 0x4b8f70
mov eax, r9d
xor r8d, r8d
lea rcx, [rax + rax*2]
lea eax, [r9 - 1]
add rcx, rcx
mov dword [rdi + rcx*8 + 0x834], 0xffffffff
mov dword [rdi + rcx*8 + 0x820], r8d
mov dword [rdi + rcx*8 + 0x830], eax
cmp dword [rdi + rdx*8 + 0x824], r8d
je 0x4b8f70
mov dword [rdi + rcx*8 + 0x7f0], r8d
mov eax, dword [rdi + rdx*8 + 0x828]
mov dword [rdi + rcx*8 + 0x800], eax
mov eax, dword [rdi + rdx*8 + 0x82c]
mov dword [rdi + rcx*8 + 0x804], eax
mov ecx, r9d
mov r8d, r9d
mov edx, r10d
lea rax, [rcx + rcx*2]
add rax, rax
mov r10d, dword [rdi + rax*8 + 0x834]
mov r9d, dword [rdi + rax*8 + 0x830]
lea rax, [rcx + rcx*2]
add rax, rax
test r8d, r8d
mov dword [rdi + rax*8 + 0x830], esi
mov esi, r8d
mov dword [rdi + rax*8 + 0x834], edx
jne 0x4b8f04
mov eax, dword [rdi + 0x834]
mov rcx, qword [rsp + 0x110]
mov dword [rcx], eax
mov eax, dword [rdi + 0x830]
mov dword [rdi + 0x34], eax
mov r14, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xd8]
mov rsi, qword [rsp + 0xe8]
mov rbp, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0x118]
mov r15, qword [rsp + 0xc0]
mov rdi, qword [rsp + 0xe0]
add rsp, 0xf8
ret