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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
test rcx, rcx
mov rsi, rcx
mov edi, edx
je 0x4b5f90
cmp qword [rcx + 0x30], 0
je 0x4b5f90
cmp qword [rcx + 0x38], 0
je 0x4b5f90
mov rdx, qword [rcx + 0x28]
mov eax, 0xfffffffe
test rdx, rdx
mov qword [rsp + 0x20], rdx
je 0x4b4fec
cmp rcx, qword [rdx]
je 0x4b5000
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, dword [rdx + 8]
mov r8d, 1
lea ecx, [rdx - 0x2a]
cmp ecx, 0x3d
ja 0x4b5025
movabs r8, 0x2002000088008001
shr r8, cl
not r8
and r8d, 1
cmp edx, 0x29a
setne cl
cmp edx, 0x71
setne al
test cl, al
je 0x4b5042
test r8b, r8b
mov eax, 0xfffffffe
jne 0x4b4fec
cmp edi, 5
ja 0x4b5f90
cmp qword [rsi + 0x10], 0
je 0x4b60e4
mov eax, dword [rsi + 8]
test eax, eax
je 0x4b5067
cmp qword [rsi], 0
je 0x4b60e4
cmp edi, 4
setne cl
cmp edx, 0x29a
jne 0x4b507d
test cl, cl
jne 0x4b60e4
mov r15d, dword [rsi + 0x18]
test r15d, r15d
je 0x4b5f60
mov rbx, qword [rsp + 0x20]
mov r14d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x40]
mov dword [rbx + 0x40], edi
test r14d, r14d
jne 0x4b5305
test eax, eax
jne 0x4b5180
lea r9d, [rdi + rdi]
cmp edi, 5
mov eax, 1
cmove r9d, eax
cmp r8d, 4
lea eax, [r8 + r8]
lea r10d, [rax - 9]
cmovg eax, r10d
cmp r9d, eax
jg 0x4b50d8
test cl, cl
jne 0x4b5f60
cmp edx, 0x29a
jne 0x4b518c
mov r13d, dword [rsi + 8]
test r13d, r13d
jne 0x4b5f60
mov ebx, dword [rsi + 8]
test ebx, ebx
je 0x4b5335
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0xac]
test eax, eax
je 0x4b5c43
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx + 0xb0]
cmp edx, 2
je 0x4b551e
cmp edx, 3
je 0x4b61d1
shl rax, 4
mov edx, edi
mov rcx, qword [rsp + 0x20]
lea r8, [0x0051b700]
call qword [r8 + rax + 8]
lea edx, [rax - 2]
cmp edx, 1
ja 0x4b5158
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x29a
test eax, 0xfffffffd
jne 0x4b5710
mov r8d, dword [rsi + 0x18]
test r8d, r8d
jne 0x4b5178
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x40], 0xffffffff
xor eax, eax
jmp 0x4b4fec
cmp edx, 0x29a
je 0x4b5f60
cmp edx, 0x2a
jne 0x4b52c7
mov rdx, qword [rsp + 0x20]
mov eax, dword [rdx + 0x48]
shl eax, 0xc
cmp dword [rdx + 0xb0], 1
lea ecx, [rax - 0x7800]
jle 0x4b56d0
mov rax, qword [rsp + 0x20]
mov r12d, dword [rax + 0x94]
test r12d, r12d
je 0x4b51c7
or ecx, 0x20
mov eax, ecx
mov edx, 0x8421085
mov r11, qword [rsp + 0x20]
mul edx
sub ecx, edx
shr ecx, 1
add edx, ecx
mov rcx, qword [r11 + 0x10]
shr edx, 4
mov eax, edx
shl eax, 5
sub eax, edx
mov edx, dword [r11 + 0x28]
add eax, 0x1f
lea r8d, [rdx + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rdx], ah
mov edx, dword [r11 + 0x28]
mov rcx, qword [r11 + 0x10]
lea r8d, [rdx + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rdx], al
mov ebp, dword [r11 + 0x94]
test ebp, ebp
je 0x4b5277
mov eax, dword [r11 + 0x28]
mov edx, dword [rsi + 0x4c]
mov rcx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov r8d, edx
shr edx, 0x10
shr r8d, 0x18
mov byte [rcx + rax], r8b
mov eax, dword [r11 + 0x28]
mov rcx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rax], dl
mov eax, dword [r11 + 0x28]
movzx edx, word [rsi + 0x4c]
mov rcx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rax], dh
mov eax, dword [r11 + 0x28]
mov rcx, qword [r11 + 0x10]
lea r8d, [rax + 1]
mov dword [r11 + 0x28], r8d
mov byte [rcx + rax], dl
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.004b17c0
mov r12, qword [rsi + 0x28]
mov dword [rsi + 0x4c], eax
mov rax, qword [rsp + 0x20]
mov rcx, r12
mov dword [rax + 8], 0x71
call fcn.004ba2c0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4b5690
mov rax, qword [rsp + 0x20]
mov r10d, dword [rax + 0x28]
test r10d, r10d
jne 0x4b5171
mov edx, dword [rax + 8]
cmp edx, 0x39
je 0x4b5a80
cmp edx, 0x45
je 0x4b5364
cmp edx, 0x49
je 0x4b5f80
cmp edx, 0x5b
je 0x4b6100
cmp edx, 0x67
jne 0x4b50f1
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov eax, dword [rax + 0x3c]
jmp 0x4b5c97
mov rcx, rbx
call fcn.004ba2c0
mov ebp, dword [rbx + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
jne 0x4b5470
test eax, eax
mov rax, qword [rsp + 0x20]
je 0x4b5171
mov edx, dword [rax + 8]
jmp 0x4b50d8
mov rax, qword [rsp + 0x20]
mov r11d, dword [rax + 0x9c]
test r11d, r11d
jne 0x4b50fc
test edi, edi
je 0x4b5178
cmp dword [rax + 8], 0x29a
jne 0x4b50fc
jmp 0x4b5719
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x4b5841
mov rcx, qword [rsp + 0x20]
movzx r13d, word [rax + 0x18]
mov r9d, dword [rcx + 0x38]
mov r12d, dword [rcx + 0x28]
mov ebp, dword [rcx + 0x18]
sub r13d, r9d
lea eax, [r12 + r13]
cmp ebp, eax
jb 0x4b53d0
jmp 0x4b61c6
mov rax, qword [rsp + 0x20]
mov r12d, dword [rax + 0x28]
test r12d, r12d
jne 0x4b5171
sub r13d, ebp
mov ebp, dword [rax + 0x18]
mov rcx, rax
mov rax, qword [rax + 0x30]
mov r9d, dword [rcx + 0x38]
cmp ebp, r13d
mov rdx, qword [rax + 0x10]
jae 0x4b57e0
mov rbx, qword [rsp + 0x20]
mov r14d, r12d
sub ebp, r12d
add rdx, r9
mov rcx, r14
mov r8d, ebp
add rcx, qword [rbx + 0x10]
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx + 0x30]
mov r8d, dword [rbx + 0x18]
mov eax, dword [rax + 0x3c]
mov dword [rbx + 0x28], r8d
test eax, eax
je 0x4b5409
cmp r8d, r12d
ja 0x4b56f0
mov rax, qword [rsp + 0x20]
mov r14, qword [rsi + 0x28]
add dword [rax + 0x38], ebp
mov rcx, r14
call fcn.004ba2c0
mov r12d, dword [r14 + 0x28]
cmp dword [rsi + 0x18], r12d
cmovbe r12d, dword [rsi + 0x18]
test r12d, r12d
je 0x4b53a0
mov rcx, qword [rsi + 0x10]
mov r15d, r12d
mov rdx, qword [r14 + 0x20]
mov r8, r15
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r15
add qword [r14 + 0x20], r15
add dword [rsi + 0x1c], r12d
sub dword [rsi + 0x18], r12d
sub dword [r14 + 0x28], r12d
jne 0x4b53a0
mov rax, qword [r14 + 0x10]
mov qword [r14 + 0x20], rax
jmp 0x4b53a0
mov rbx, qword [rsp + 0x20]
mov r12d, ebp
mov rcx, qword [rsi + 0x10]
mov r8, r12
mov rdx, qword [rbx + 0x20]
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r12
add qword [rbx + 0x20], r12
add dword [rsi + 0x1c], ebp
sub eax, ebp
mov dword [rsi + 0x18], eax
sub dword [rbx + 0x28], ebp
jne 0x4b5320
mov rdx, qword [rbx + 0x10]
mov qword [rbx + 0x20], rdx
jmp 0x4b5320
movsxd rax, dword [rcx + 0x84]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x4b54c8
add rax, qword [rcx + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.004ba4c0
mov rbp, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r13, qword [rbp + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r13
call fcn.004ba2c0
mov r12d, dword [r13 + 0x28]
cmp dword [rbp + 0x18], r12d
cmovbe r12d, dword [rbp + 0x18]
test r12d, r12d
jne 0x4b5fa0
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov r8d, dword [rax + 0x18]
test r8d, r8d
je 0x4b5163
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x9c]
jmp 0x4b55ba
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov ecx, dword [rbx + 0x16f4]
mov dword [rbx + 0x88], 0
mov rdx, qword [rbx + 0x50]
mov eax, dword [rbx + 0x94]
mov r8, qword [rbx + 0x16f8]
movzx eax, byte [rdx + rax]
mov rdx, rcx
mov word [r8 + rcx*2], r9w
mov r8, qword [rbx + 0x16e8]
add edx, 1
mov dword [rbx + 0x16f4], edx
mov byte [r8 + rcx], al
mov rcx, rbx
add word [rbx + rax*4 + 0xbc], 1
mov eax, dword [rbx + 0x16f0]
lea edx, [rax - 1]
mov eax, dword [rbx + 0x9c]
sub eax, 1
cmp dword [rcx + 0x16f4], edx
mov dword [rbx + 0x9c], eax
mov ebx, dword [rbx + 0x94]
lea r8d, [rbx + 1]
mov dword [rcx + 0x94], r8d
je 0x4b54b1
test eax, eax
jne 0x4b5530
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.004b2230
mov r10d, dword [rbx + 0x9c]
test r10d, r10d
jne 0x4b5530
test edi, edi
je 0x4b5163
mov rax, qword [rsp + 0x20]
cmp edi, 4
mov dword [rax + 0x170c], 0
je 0x4b64b0
mov edx, dword [rax + 0x16f4]
test edx, edx
je 0x4b5da0
mov rcx, rax
movsxd rax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rcx + 0x94]
sub r8d, eax
test eax, eax
js 0x4b562e
add rax, qword [rcx + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.004ba4c0
mov r12, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r13, qword [r12 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r13
call fcn.004ba2c0
mov ebp, dword [r13 + 0x28]
cmp dword [r12 + 0x18], ebp
cmovbe ebp, dword [r12 + 0x18]
test ebp, ebp
jne 0x4b6692
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
test eax, eax
setne al
movzx eax, al
jmp 0x4b5158
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x4b52b2
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4b52b2
mov eax, dword [rdx + 0xac]
cmp eax, 1
jle 0x4b51b3
cmp eax, 5
jg 0x4b5e50
or ecx, 0x40
jmp 0x4b51b3
mov rax, qword [rsp + 0x20]
mov rdx, r14
sub r8d, r12d
mov ecx, dword [rsi + 0x4c]
add rdx, qword [rax + 0x10]
call fcn.004b1f80
mov dword [rsi + 0x4c], eax
jmp 0x4b5409
cmp eax, 1
je 0x4b5da0
cmp edi, 4
jne 0x4b5178
mov rdi, qword [rsp + 0x20]
mov eax, 1
mov ecx, dword [rdi + 0x2c]
test ecx, ecx
jle 0x4b4fec
mov eax, dword [rdi + 0x28]
mov edx, dword [rsi + 0x4c]
lea r8d, [rax + 1]
add rax, qword [rdi + 0x10]
cmp ecx, 2
mov dword [rdi + 0x28], r8d
je 0x4b5eb0
mov ecx, edx
shr edx, 0x10
shr ecx, 0x18
mov byte [rax], cl
mov eax, dword [rdi + 0x28]
mov rcx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rcx + rax], dl
mov eax, dword [rdi + 0x28]
movzx edx, word [rsi + 0x4c]
mov rcx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rcx + rax], dh
mov eax, dword [rdi + 0x28]
mov rcx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rcx + rax], dl
mov rbp, qword [rsi + 0x28]
mov rcx, rbp
call fcn.004ba2c0
mov edi, dword [rbp + 0x28]
cmp dword [rsi + 0x18], edi
cmovbe edi, dword [rsi + 0x18]
test edi, edi
jne 0x4b6152
mov rdi, qword [rsp + 0x20]
mov eax, dword [rdi + 0x2c]
test eax, eax
jle 0x4b57c5
neg eax
mov dword [rdi + 0x2c], eax
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x28]
test eax, eax
sete al
movzx eax, al
jmp 0x4b4fec
xor ebp, ebp
mov rbx, rcx
mov rcx, qword [rbx + 0x10]
mov eax, r9d
mov r8d, r13d
add rdx, rax
add rcx, rbp
call sub.msvcrt.dll_memcpy
mov rax, qword [rbx + 0x30]
mov r8d, dword [rbx + 0x28]
mov r15d, dword [rax + 0x3c]
add r8d, r13d
mov dword [rbx + 0x28], r8d
test r15d, r15d
je 0x4b5835
cmp r8d, r12d
jbe 0x4b5835
mov rbx, qword [rsp + 0x20]
mov rdx, rbp
sub r8d, r12d
mov ecx, dword [rsi + 0x4c]
add rdx, qword [rbx + 0x10]
call fcn.004b1f80
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x38], 0
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x49
cmp qword [rax + 0x20], 0
je 0x4b5987
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov r8d, r9d
jmp 0x4b58a8
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rax + 0x20]
mov eax, dword [rbx + 0x38]
lea ecx, [rax + 1]
mov dword [rbx + 0x38], ecx
movzx eax, byte [rdx + rax]
lea ecx, [r8 + 1]
mov rdx, qword [rbx + 0x10]
mov dword [rbx + 0x28], ecx
test al, al
mov byte [rdx + r8], al
je 0x4b5940
mov r8d, dword [rbx + 0x28]
mov rdx, rbx
mov rax, qword [rbx + 0x30]
cmp dword [rdx + 0x18], r8d
jne 0x4b5870
mov r14d, dword [rax + 0x3c]
test r14d, r14d
je 0x4b58c0
cmp r9d, r8d
jb 0x4b5d60
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.004ba2c0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4b5900
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x4b5171
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x4b5870
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x4b58dc
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4b58dc
mov rax, qword [rbx + 0x30]
mov rdx, rbx
mov r13d, dword [rax + 0x3c]
test r13d, r13d
je 0x4b5980
mov r8d, dword [rbx + 0x28]
cmp r8d, r9d
jbe 0x4b5980
mov edx, r9d
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
add rdx, qword [rbx + 0x10]
call fcn.004b1f80
mov rdx, qword [rsp + 0x20]
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
nop word [rax + rax]
mov dword [rdx + 0x38], 0
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x5b
cmp qword [rax + 0x30], 0
je 0x4b5c88
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov r8d, r9d
jmp 0x4b59e8
mov rbx, qword [rsp + 0x20]
mov rdx, qword [rax + 0x30]
mov eax, dword [rbx + 0x38]
lea ecx, [rax + 1]
mov dword [rbx + 0x38], ecx
movzx eax, byte [rdx + rax]
lea ecx, [r8 + 1]
mov rdx, qword [rbx + 0x10]
mov dword [rbx + 0x28], ecx
test al, al
mov byte [rdx + r8], al
je 0x4b5c54
mov r8d, dword [rbx + 0x28]
mov rdx, rbx
mov rax, qword [rbx + 0x30]
cmp dword [rdx + 0x18], r8d
jne 0x4b59b0
mov r12d, dword [rax + 0x3c]
test r12d, r12d
je 0x4b5a00
cmp r9d, r8d
jb 0x4b5d80
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.004ba2c0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4b5a40
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x4b5171
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x4b59b0
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x4b5a1c
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4b5a1c
xor edx, edx
xor ecx, ecx
xor r8d, r8d
call fcn.004b1f80
mov rbx, qword [rsp + 0x20]
mov dword [rsi + 0x4c], eax
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0x1f
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0x8b
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 8
mov rax, qword [rbx + 0x30]
test rax, rax
je 0x4b5fe0
mov ecx, dword [rax]
mov r8d, dword [rax + 0x3c]
test ecx, ecx
setne dl
test r8d, r8d
jne 0x4b5e40
cmp qword [rax + 0x10], 0
je 0x4b5af2
add edx, 4
cmp qword [rax + 0x20], 0
je 0x4b5afc
add edx, 8
cmp qword [rax + 0x30], 0
je 0x4b5b06
add edx, 0x10
mov r10, qword [rsp + 0x20]
mov eax, dword [r10 + 0x28]
mov rcx, qword [r10 + 0x10]
lea r8d, [rax + 1]
mov dword [r10 + 0x28], r8d
mov byte [rcx + rax], dl
mov rax, qword [r10 + 0x30]
mov rdx, qword [r10 + 0x10]
mov ecx, dword [rax + 4]
mov eax, dword [r10 + 0x28]
lea r8d, [rax + 1]
mov dword [r10 + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [r10 + 0x30]
mov rdx, qword [r10 + 0x10]
mov ecx, dword [rax + 4]
mov eax, dword [r10 + 0x28]
lea r8d, [rax + 1]
mov dword [r10 + 0x28], r8d
mov byte [rdx + rax], ch
mov rax, qword [r10 + 0x30]
mov rdx, qword [r10 + 0x10]
movzx ecx, word [rax + 6]
mov eax, dword [r10 + 0x28]
lea r8d, [rax + 1]
mov dword [r10 + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [r10 + 0x30]
mov rdx, qword [r10 + 0x10]
movzx ecx, byte [rax + 7]
mov eax, dword [r10 + 0x28]
lea r8d, [rax + 1]
mov dword [r10 + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [r10 + 0xac]
mov edx, 2
cmp eax, 9
je 0x4b5baf
cmp dword [r10 + 0xb0], 1
jg 0x4b5baa
xor edx, edx
cmp eax, 1
jg 0x4b5baf
mov edx, 4
mov r15, qword [rsp + 0x20]
mov eax, dword [r15 + 0x28]
mov rcx, qword [r15 + 0x10]
lea r8d, [rax + 1]
mov dword [r15 + 0x28], r8d
mov byte [rcx + rax], dl
mov rax, qword [r15 + 0x30]
mov rdx, qword [r15 + 0x10]
mov ecx, dword [rax + 0xc]
mov eax, dword [r15 + 0x28]
lea r8d, [rax + 1]
mov dword [r15 + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [r15 + 0x30]
cmp qword [rax + 0x10], 0
je 0x4b5c20
mov ecx, dword [rax + 0x18]
mov eax, dword [r15 + 0x28]
mov rdx, qword [r15 + 0x10]
lea r8d, [rax + 1]
mov dword [r15 + 0x28], r8d
mov byte [rdx + rax], cl
mov rax, qword [r15 + 0x30]
mov rdx, qword [r15 + 0x10]
mov ecx, dword [rax + 0x18]
mov eax, dword [r15 + 0x28]
lea r8d, [rax + 1]
mov dword [r15 + 0x28], r8d
mov byte [rdx + rax], ch
mov rax, qword [r15 + 0x30]
mov edx, dword [rax + 0x3c]
test edx, edx
jne 0x4b60c3
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x38], 0
mov dword [rdx + 8], 0x45
jmp 0x4b536d
mov rcx, qword [rsp + 0x20]
mov edx, edi
call fcn.004b25f0
jmp 0x4b5144
mov rax, qword [rbx + 0x30]
mov rdx, rbx
mov eax, dword [rax + 0x3c]
test eax, eax
je 0x4b5d16
mov r8d, dword [rbx + 0x28]
cmp r8d, r9d
jbe 0x4b5c90
mov edx, r9d
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
add rdx, qword [rbx + 0x10]
call fcn.004b1f80
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
mov eax, dword [rax + 0x3c]
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x67
test eax, eax
je 0x4b5d16
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx + 0x28]
lea edx, [rax + 2]
cmp edx, dword [rcx + 0x18]
jbe 0x4b5cdb
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.004ba2c0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4b5e71
mov rdx, qword [rsp + 0x20]
mov eax, dword [rdx + 0x28]
test eax, eax
jne 0x4b5e63
mov rbx, qword [rsp + 0x20]
lea r8d, [rax + 1]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rbx + 0x10]
mov dword [rbx + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rbx + 0x28]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
xor r8d, r8d
mov byte [rdx + rax], ch
xor edx, edx
xor ecx, ecx
call fcn.004b1f80
mov dword [rsi + 0x4c], eax
mov r12, qword [rsi + 0x28]
mov rax, qword [rsp + 0x20]
mov rcx, r12
mov dword [rax + 8], 0x71
call fcn.004ba2c0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4b5e00
mov rax, qword [rsp + 0x20]
mov ebp, dword [rax + 0x28]
test ebp, ebp
je 0x4b50f1
jmp 0x4b5171
mov rax, rdx
mov ecx, dword [rsi + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rax + 0x10]
call fcn.004b1f80
mov dword [rsi + 0x4c], eax
jmp 0x4b58c0
mov rax, rdx
mov ecx, dword [rsi + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rax + 0x10]
call fcn.004b1f80
mov dword [rsi + 0x4c], eax
jmp 0x4b5a00
cmp edi, 1
je 0x4b5f4e
cmp edi, 5
je 0x4b5dc9
mov rcx, qword [rsp + 0x20]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.004ba140
cmp edi, 3
je 0x4b6576
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.004ba2c0
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
jne 0x4b6110
test eax, eax
jne 0x4b5719
jmp 0x4b516c
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x4b5d42
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4b5d42
add edx, 2
jmp 0x4b5ae8
mov edx, ecx
or cl, 0xc0
or dl, 0x80
cmp eax, 6
cmove ecx, edx
jmp 0x4b51b3
mov dword [rdx + 0x40], 0xffffffff
xor eax, eax
jmp 0x4b4fec
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x4b5ccb
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4b5ccb
mov byte [rax], dl
mov eax, dword [rdi + 0x28]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], ch
mov eax, dword [rdi + 0x28]
movzx ecx, word [rsi + 0x4e]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rdi + 0x28]
movzx ecx, byte [rsi + 0x4f]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rdi + 0x28]
mov ecx, dword [rsi + 0xc]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
mov eax, dword [rdi + 0x28]
mov ecx, dword [rsi + 0xc]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], ch
mov eax, dword [rdi + 0x28]
movzx ecx, word [rsi + 0xe]
mov rdx, qword [rdi + 0x10]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
movzx ecx, byte [rsi + 0xf]
mov rdx, qword [rdi + 0x10]
mov eax, dword [rdi + 0x28]
lea r8d, [rax + 1]
mov dword [rdi + 0x28], r8d
mov byte [rdx + rax], cl
jmp 0x4b5796
mov rcx, qword [rsp + 0x20]
call fcn.004ba350
jmp 0x4b5dc9
mov rax, qword [0x00521530]
mov rax, qword [rax + 0x38]
mov qword [rsi + 0x20], rax
mov eax, 0xfffffffb
jmp 0x4b4fec
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x4b584d
mov eax, 0xfffffffe
jmp 0x4b4fec
mov rcx, qword [rbp + 0x10]
mov r14d, r12d
mov rdx, qword [r13 + 0x20]
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [rbp + 0x10], r14
add qword [r13 + 0x20], r14
add dword [rbp + 0x1c], r12d
sub dword [rbp + 0x18], r12d
sub dword [r13 + 0x28], r12d
jne 0x4b5509
mov rax, qword [r13 + 0x10]
mov qword [r13 + 0x20], rax
jmp 0x4b5509
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0
mov eax, dword [rbx + 0xac]
mov edx, 2
cmp eax, 9
je 0x4b605f
cmp dword [rbx + 0xb0], 1
jg 0x4b6055
xor edx, edx
cmp eax, 1
jg 0x4b605f
mov rbx, qword [rsp + 0x20]
mov edx, 4
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x10]
lea r8d, [rax + 1]
mov dword [rbx + 0x28], r8d
mov byte [rcx + rax], dl
mov eax, dword [rbx + 0x28]
mov rdx, qword [rbx + 0x10]
lea ecx, [rax + 1]
mov dword [rbx + 0x28], ecx
mov byte [rdx + rax], 0xa
mov r12, qword [rsi + 0x28]
mov dword [rbx + 8], 0x71
mov rcx, r12
call fcn.004ba2c0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4b6189
mov rax, qword [rsp + 0x20]
mov r9d, dword [rax + 0x28]
test r9d, r9d
jne 0x4b5171
mov edx, dword [rax + 8]
jmp 0x4b52d0
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [rbx + 0x28]
call fcn.004b1f80
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
jmp 0x4b5c2b
mov rax, qword [0x00521530]
mov rax, qword [rax + 0x20]
mov qword [rsi + 0x20], rax
mov eax, 0xfffffffe
jmp 0x4b4fec
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x4b5993
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
mov eax, dword [rsi + 0x18]
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub eax, ebp
mov dword [rsi + 0x18], eax
sub dword [r12 + 0x28], ebp
jne 0x4b5dea
mov rdx, qword [r12 + 0x10]
mov qword [r12 + 0x20], rdx
jmp 0x4b5dea
mov rcx, qword [rsi + 0x10]
mov r12d, edi
mov rdx, qword [rbp + 0x20]
mov r8, r12
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r12
add qword [rbp + 0x20], r12
add dword [rsi + 0x1c], edi
sub dword [rsi + 0x18], edi
sub dword [rbp + 0x28], edi
jne 0x4b57b4
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
jmp 0x4b57b4
mov rcx, qword [rsi + 0x10]
mov r13d, ebp
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rsi + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rsi + 0x1c], ebp
sub dword [rsi + 0x18], ebp
sub dword [r12 + 0x28], ebp
jne 0x4b60a9
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4b60a9
mov ebp, r12d
mov rbx, rcx
jmp 0x4b57e5
mov r12, qword [0x005212d0]
mov rbp, qword [0x00521280]
mov rax, qword [rsp + 0x20]
mov r13d, 0x102
mov eax, dword [rax + 0x9c]
jmp 0x4b62a5
mov rcx, qword [rsp + 0x20]
mov dword [rcx + 0x88], 0
mov edx, dword [rcx + 0x94]
mov r8, qword [rcx + 0x50]
mov ecx, edx
test edx, edx
je 0x4b6227
lea rdx, [r8 + rcx - 1]
movzx r9d, byte [rdx]
cmp r9b, byte [rdx + 1]
je 0x4b6302
mov rbx, qword [rsp + 0x20]
xor r14d, r14d
movzx eax, byte [r8 + rcx]
mov ecx, dword [rbx + 0x16f4]
mov r8, qword [rbx + 0x16f8]
mov rdx, rcx
mov word [r8 + rcx*2], r14w
mov r8, qword [rbx + 0x16e8]
add edx, 1
mov dword [rbx + 0x16f4], edx
xor edx, edx
mov byte [r8 + rcx], al
mov rcx, rbx
add word [rbx + rax*4 + 0xbc], 1
mov eax, dword [rbx + 0x16f0]
sub eax, 1
cmp eax, dword [rbx + 0x16f4]
mov eax, dword [rbx + 0x9c]
sete dl
sub eax, 1
mov dword [rbx + 0x9c], eax
mov ebx, dword [rbx + 0x94]
lea r8d, [rbx + 1]
mov dword [rcx + 0x94], r8d
test edx, edx
jne 0x4b643a
cmp eax, 0x102
ja 0x4b61f5
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.004b2230
mov eax, dword [rbx + 0x9c]
cmp eax, 0x102
ja 0x4b61f5
test edi, edi
je 0x4b5163
test eax, eax
je 0x4b65c8
mov edx, dword [rbx + 0x94]
cmp eax, 2
mov dword [rbx + 0x88], 0
mov r8, qword [rbx + 0x50]
mov ecx, edx
jbe 0x4b6227
jmp 0x4b6210
cmp r9b, byte [rdx + 2]
jne 0x4b6227
cmp r9b, byte [rdx + 3]
jne 0x4b6227
lea r14, [r8 + rcx + 0x102]
add rdx, 3
cmp r9b, byte [rdx + 1]
jne 0x4b6747
cmp r9b, byte [rdx + 2]
jne 0x4b6759
cmp r9b, byte [rdx + 3]
jne 0x4b6750
cmp r9b, byte [rdx + 4]
jne 0x4b677d
cmp r9b, byte [rdx + 5]
jne 0x4b6774
cmp r9b, byte [rdx + 6]
jne 0x4b676b
cmp r9b, byte [rdx + 7]
jne 0x4b6762
add rdx, 8
cmp byte [rdx], r9b
sete r11b
cmp r14, rdx
seta r10b
test r11b, r10b
jne 0x4b6322
mov rbx, qword [rsp + 0x20]
sub r14, rdx
mov edx, r13d
sub edx, r14d
cmp edx, eax
mov dword [rbx + 0x88], edx
jbe 0x4b6739
mov dword [rbx + 0x88], eax
mov edx, eax
mov ecx, dword [rbx + 0x16f4]
lea eax, [rdx - 3]
mov r15d, 1
mov r8, qword [rbx + 0x16f8]
mov rdx, rcx
mov word [r8 + rcx*2], r15w
mov r8, qword [rbx + 0x16e8]
add edx, 1
mov dword [rbx + 0x16f4], edx
xor edx, edx
mov byte [r8 + rcx], al
movzx eax, al
movzx eax, byte [r12 + rax]
add word [rbx + rax*4 + 0x4c0], 1
movzx eax, byte [rbp]
add word [rbx + rax*4 + 0x9b0], 1
mov eax, dword [rbx + 0x16f0]
mov r8d, dword [rbx + 0x88]
mov dword [rbx + 0x88], 0
sub eax, 1
cmp eax, dword [rbx + 0x16f4]
mov eax, dword [rbx + 0x9c]
sete dl
sub eax, r8d
add r8d, dword [rbx + 0x94]
mov dword [rbx + 0x9c], eax
mov dword [rbx + 0x94], r8d
jmp 0x4b629d
mov rcx, qword [rsp + 0x20]
xor edx, edx
movsxd rax, dword [rcx + 0x84]
sub r8d, eax
test eax, eax
js 0x4b6456
add rax, qword [rcx + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.004ba4c0
mov r13, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r15, qword [r13 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r15
call fcn.004ba2c0
mov r14d, dword [r15 + 0x28]
cmp dword [r13 + 0x18], r14d
cmovbe r14d, dword [r13 + 0x18]
test r14d, r14d
jne 0x4b6532
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov ebx, dword [rax + 0x18]
test ebx, ebx
jne 0x4b61df
jmp 0x4b5163
mov rdi, rax
movsxd rax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rdi + 0x94]
sub r8d, eax
test eax, eax
js 0x4b64d1
add rax, qword [rdi + 0x50]
mov rdx, rax
mov rdi, qword [rsp + 0x20]
mov r9d, 1
mov rcx, rdi
call fcn.004ba4c0
mov rbp, qword [rdi]
mov eax, dword [rdi + 0x94]
mov r12, qword [rbp + 0x28]
mov dword [rdi + 0x84], eax
mov rcx, r12
call fcn.004ba2c0
mov edi, dword [r12 + 0x28]
cmp dword [rbp + 0x18], edi
cmovbe edi, dword [rbp + 0x18]
test edi, edi
jne 0x4b6655
mov rdi, qword [rsp + 0x20]
mov rax, qword [rdi]
mov ecx, dword [rax + 0x18]
test ecx, ecx
je 0x4b6649
mov dword [rdi + 8], 0x29a
jmp 0x4b5722
mov rcx, qword [r13 + 0x10]
mov r9d, r14d
mov rdx, qword [r15 + 0x20]
mov r8, r9
mov qword [rsp + 0x28], r9
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x28]
add qword [r13 + 0x10], r9
add qword [r15 + 0x20], r9
add dword [r13 + 0x1c], r14d
sub dword [r13 + 0x18], r14d
sub dword [r15 + 0x28], r14d
jne 0x4b6497
mov rax, qword [r15 + 0x10]
mov qword [r15 + 0x20], rax
jmp 0x4b6497
mov rbx, qword [rsp + 0x20]
xor edx, edx
mov eax, dword [rbx + 0x74]
mov rcx, qword [rbx + 0x68]
lea r8d, [rax - 1]
mov word [rcx + r8*2], dx
add r8, r8
xor edx, edx
call sub.msvcrt.dll_memset
mov ecx, dword [rbx + 0x9c]
test ecx, ecx
jne 0x4b5dc9
mov dword [rbx + 0x94], 0
mov dword [rbx + 0x84], 0
mov dword [rbx + 0x170c], 0
jmp 0x4b5dc9
mov rax, qword [rsp + 0x20]
cmp edi, 4
mov dword [rax + 0x170c], 0
je 0x4b66d0
mov r10d, dword [rax + 0x16f4]
mov rcx, rax
test r10d, r10d
je 0x4b5da0
movsxd rax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rcx + 0x94]
sub r8d, eax
test eax, eax
js 0x4b6611
add rax, qword [rcx + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.004ba4c0
mov eax, dword [rbx + 0x94]
mov rcx, qword [rbx]
mov dword [rbx + 0x84], eax
call fcn.004b21c0
mov rax, qword [rbx]
mov r9d, dword [rax + 0x18]
xor eax, eax
test r9d, r9d
setne al
jmp 0x4b5158
mov dword [rdi + 8], 0x29a
jmp 0x4b5163
mov rcx, qword [rbp + 0x10]
mov r13d, edi
mov rdx, qword [r12 + 0x20]
mov r8, r13
call sub.msvcrt.dll_memcpy
add qword [rbp + 0x10], r13
add qword [r12 + 0x20], r13
add dword [rbp + 0x1c], edi
sub dword [rbp + 0x18], edi
sub dword [r12 + 0x28], edi
jne 0x4b6513
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4b6513
mov rcx, qword [r12 + 0x10]
mov r14d, ebp
mov rdx, qword [r13 + 0x20]
mov r8, r14
call sub.msvcrt.dll_memcpy
add qword [r12 + 0x10], r14
add qword [r13 + 0x20], r14
add dword [r12 + 0x1c], ebp
sub dword [r12 + 0x18], ebp
sub dword [r13 + 0x28], ebp
jne 0x4b5671
mov rax, qword [r13 + 0x10]
mov qword [r13 + 0x20], rax
jmp 0x4b5671
mov rdi, rax
movsxd rax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rdi + 0x94]
sub r8d, eax
test eax, eax
js 0x4b66f1
add rax, qword [rdi + 0x50]
mov rdx, rax
mov rdi, qword [rsp + 0x20]
mov r9d, 1
mov rcx, rdi
call fcn.004ba4c0
mov eax, dword [rdi + 0x94]
mov rcx, qword [rdi]
mov dword [rdi + 0x84], eax
call fcn.004b21c0
mov rax, qword [rdi]
mov r11d, dword [rax + 0x18]
test r11d, r11d
je 0x4b6649
mov rax, qword [rsp + 0x20]
mov dword [rax + 8], 0x29a
jmp 0x4b5722
cmp edx, 2
ja 0x4b63a3
jmp 0x4b6227
add rdx, 1
jmp 0x4b637f
add rdx, 3
jmp 0x4b637f
add rdx, 2
jmp 0x4b637f
add rdx, 7
jmp 0x4b637f
add rdx, 6
jmp 0x4b637f
add rdx, 5
jmp 0x4b637f
add rdx, 4
jmp 0x4b637f