Function at 0x4a2390
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 0x4a3380
cmp qword [rcx + 0x30], 0
je 0x4a3380
cmp qword [rcx + 0x38], 0
je 0x4a3380
mov rdx, qword [rcx + 0x28]
mov eax, 0xfffffffe
test rdx, rdx
mov qword [rsp + 0x20], rdx
je 0x4a23dc
cmp rcx, qword [rdx]
je 0x4a23f0
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 0x4a2415
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 0x4a2432
test r8b, r8b
mov eax, 0xfffffffe
jne 0x4a23dc
cmp edi, 5
ja 0x4a3380
cmp qword [rsi + 0x10], 0
je 0x4a34d4
mov eax, dword [rsi + 8]
test eax, eax
je 0x4a2457
cmp qword [rsi], 0
je 0x4a34d4
cmp edi, 4
setne cl
cmp edx, 0x29a
jne 0x4a246d
test cl, cl
jne 0x4a34d4
mov r15d, dword [rsi + 0x18]
test r15d, r15d
je 0x4a3350
mov rbx, qword [rsp + 0x20]
mov r14d, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x40]
mov dword [rbx + 0x40], edi
test r14d, r14d
jne 0x4a26f5
test eax, eax
jne 0x4a2570
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 0x4a24c8
test cl, cl
jne 0x4a3350
cmp edx, 0x29a
jne 0x4a257c
mov r13d, dword [rsi + 8]
test r13d, r13d
jne 0x4a3350
mov ebx, dword [rsi + 8]
test ebx, ebx
je 0x4a2725
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0xac]
test eax, eax
je 0x4a3033
mov rdx, qword [rsp + 0x20]
mov edx, dword [rdx + 0xb0]
cmp edx, 2
je 0x4a290e
cmp edx, 3
je 0x4a35c1
shl rax, 4
mov edx, edi
mov rcx, qword [rsp + 0x20]
lea r8, [0x00500460]
call qword [r8 + rax + 8]
lea edx, [rax - 2]
cmp edx, 1
ja 0x4a2548
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 8], 0x29a
test eax, 0xfffffffd
jne 0x4a2b00
mov r8d, dword [rsi + 0x18]
test r8d, r8d
jne 0x4a2568
mov rax, qword [rsp + 0x20]
mov dword [rax + 0x40], 0xffffffff
xor eax, eax
jmp 0x4a23dc
cmp edx, 0x29a
je 0x4a3350
cmp edx, 0x2a
jne 0x4a26b7
mov rdx, qword [rsp + 0x20]
mov eax, dword [rdx + 0x48]
shl eax, 0xc
cmp dword [rdx + 0xb0], 1
lea ecx, [rax - 0x7800]
jle 0x4a2ac0
mov rax, qword [rsp + 0x20]
mov r12d, dword [rax + 0x94]
test r12d, r12d
je 0x4a25b7
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 0x4a2667
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.0049ebb0
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.004a76b0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4a2a80
mov rax, qword [rsp + 0x20]
mov r10d, dword [rax + 0x28]
test r10d, r10d
jne 0x4a2561
mov edx, dword [rax + 8]
cmp edx, 0x39
je 0x4a2e70
cmp edx, 0x45
je 0x4a2754
cmp edx, 0x49
je 0x4a3370
cmp edx, 0x5b
je 0x4a34f0
cmp edx, 0x67
jne 0x4a24e1
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov eax, dword [rax + 0x3c]
jmp 0x4a3087
mov rcx, rbx
call fcn.004a76b0
mov ebp, dword [rbx + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
jne 0x4a2860
test eax, eax
mov rax, qword [rsp + 0x20]
je 0x4a2561
mov edx, dword [rax + 8]
jmp 0x4a24c8
mov rax, qword [rsp + 0x20]
mov r11d, dword [rax + 0x9c]
test r11d, r11d
jne 0x4a24ec
test edi, edi
je 0x4a2568
cmp dword [rax + 8], 0x29a
jne 0x4a24ec
jmp 0x4a2b09
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x4a2c31
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 0x4a27c0
jmp 0x4a35b6
mov rax, qword [rsp + 0x20]
mov r12d, dword [rax + 0x28]
test r12d, r12d
jne 0x4a2561
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 0x4a2bd0
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 0x4a27f9
cmp r8d, r12d
ja 0x4a2ae0
mov rax, qword [rsp + 0x20]
mov r14, qword [rsi + 0x28]
add dword [rax + 0x38], ebp
mov rcx, r14
call fcn.004a76b0
mov r12d, dword [r14 + 0x28]
cmp dword [rsi + 0x18], r12d
cmovbe r12d, dword [rsi + 0x18]
test r12d, r12d
je 0x4a2790
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 0x4a2790
mov rax, qword [r14 + 0x10]
mov qword [r14 + 0x20], rax
jmp 0x4a2790
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 0x4a2710
mov rdx, qword [rbx + 0x10]
mov qword [rbx + 0x20], rdx
jmp 0x4a2710
movsxd rax, dword [rcx + 0x84]
xor edx, edx
sub r8d, eax
test eax, eax
js 0x4a28b8
add rax, qword [rcx + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.004a78b0
mov rbp, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r13, qword [rbp + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r13
call fcn.004a76b0
mov r12d, dword [r13 + 0x28]
cmp dword [rbp + 0x18], r12d
cmovbe r12d, dword [rbp + 0x18]
test r12d, r12d
jne 0x4a3390
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov r8d, dword [rax + 0x18]
test r8d, r8d
je 0x4a2553
mov rax, qword [rsp + 0x20]
mov eax, dword [rax + 0x9c]
jmp 0x4a29aa
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 0x4a28a1
test eax, eax
jne 0x4a2920
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.0049f620
mov r10d, dword [rbx + 0x9c]
test r10d, r10d
jne 0x4a2920
test edi, edi
je 0x4a2553
mov rax, qword [rsp + 0x20]
cmp edi, 4
mov dword [rax + 0x170c], 0
je 0x4a38a0
mov edx, dword [rax + 0x16f4]
test edx, edx
je 0x4a3190
mov rcx, rax
movsxd rax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rcx + 0x94]
sub r8d, eax
test eax, eax
js 0x4a2a1e
add rax, qword [rcx + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.004a78b0
mov r12, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r13, qword [r12 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r13
call fcn.004a76b0
mov ebp, dword [r13 + 0x28]
cmp dword [r12 + 0x18], ebp
cmovbe ebp, dword [r12 + 0x18]
test ebp, ebp
jne 0x4a3a82
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov eax, dword [rax + 0x18]
test eax, eax
setne al
movzx eax, al
jmp 0x4a2548
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 0x4a26a2
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4a26a2
mov eax, dword [rdx + 0xac]
cmp eax, 1
jle 0x4a25a3
cmp eax, 5
jg 0x4a3240
or ecx, 0x40
jmp 0x4a25a3
mov rax, qword [rsp + 0x20]
mov rdx, r14
sub r8d, r12d
mov ecx, dword [rsi + 0x4c]
add rdx, qword [rax + 0x10]
call fcn.0049f370
mov dword [rsi + 0x4c], eax
jmp 0x4a27f9
cmp eax, 1
je 0x4a3190
cmp edi, 4
jne 0x4a2568
mov rdi, qword [rsp + 0x20]
mov eax, 1
mov ecx, dword [rdi + 0x2c]
test ecx, ecx
jle 0x4a23dc
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 0x4a32a0
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.004a76b0
mov edi, dword [rbp + 0x28]
cmp dword [rsi + 0x18], edi
cmovbe edi, dword [rsi + 0x18]
test edi, edi
jne 0x4a3542
mov rdi, qword [rsp + 0x20]
mov eax, dword [rdi + 0x2c]
test eax, eax
jle 0x4a2bb5
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 0x4a23dc
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 0x4a2c25
cmp r8d, r12d
jbe 0x4a2c25
mov rbx, qword [rsp + 0x20]
mov rdx, rbp
sub r8d, r12d
mov ecx, dword [rsi + 0x4c]
add rdx, qword [rbx + 0x10]
call fcn.0049f370
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 0x4a2d77
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov r8d, r9d
jmp 0x4a2c98
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 0x4a2d30
mov r8d, dword [rbx + 0x28]
mov rdx, rbx
mov rax, qword [rbx + 0x30]
cmp dword [rdx + 0x18], r8d
jne 0x4a2c60
mov r14d, dword [rax + 0x3c]
test r14d, r14d
je 0x4a2cb0
cmp r9d, r8d
jb 0x4a3150
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.004a76b0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4a2cf0
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x4a2561
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x4a2c60
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 0x4a2ccc
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4a2ccc
mov rax, qword [rbx + 0x30]
mov rdx, rbx
mov r13d, dword [rax + 0x3c]
test r13d, r13d
je 0x4a2d70
mov r8d, dword [rbx + 0x28]
cmp r8d, r9d
jbe 0x4a2d70
mov edx, r9d
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
add rdx, qword [rbx + 0x10]
call fcn.0049f370
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 0x4a3078
mov rdx, qword [rsp + 0x20]
mov r9d, dword [rdx + 0x28]
mov r8d, r9d
jmp 0x4a2dd8
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 0x4a3044
mov r8d, dword [rbx + 0x28]
mov rdx, rbx
mov rax, qword [rbx + 0x30]
cmp dword [rdx + 0x18], r8d
jne 0x4a2da0
mov r12d, dword [rax + 0x3c]
test r12d, r12d
je 0x4a2df0
cmp r9d, r8d
jb 0x4a3170
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.004a76b0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4a2e30
mov rax, qword [rsp + 0x20]
mov r8d, dword [rax + 0x28]
test r8d, r8d
jne 0x4a2561
mov rax, qword [rax + 0x30]
xor r9d, r9d
jmp 0x4a2da0
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 0x4a2e0c
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4a2e0c
xor edx, edx
xor ecx, ecx
xor r8d, r8d
call fcn.0049f370
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 0x4a33d0
mov ecx, dword [rax]
mov r8d, dword [rax + 0x3c]
test ecx, ecx
setne dl
test r8d, r8d
jne 0x4a3230
cmp qword [rax + 0x10], 0
je 0x4a2ee2
add edx, 4
cmp qword [rax + 0x20], 0
je 0x4a2eec
add edx, 8
cmp qword [rax + 0x30], 0
je 0x4a2ef6
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 0x4a2f9f
cmp dword [r10 + 0xb0], 1
jg 0x4a2f9a
xor edx, edx
cmp eax, 1
jg 0x4a2f9f
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 0x4a3010
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 0x4a34b3
mov rdx, qword [rsp + 0x20]
mov dword [rdx + 0x38], 0
mov dword [rdx + 8], 0x45
jmp 0x4a275d
mov rcx, qword [rsp + 0x20]
mov edx, edi
call fcn.0049f9e0
jmp 0x4a2534
mov rax, qword [rbx + 0x30]
mov rdx, rbx
mov eax, dword [rax + 0x3c]
test eax, eax
je 0x4a3106
mov r8d, dword [rbx + 0x28]
cmp r8d, r9d
jbe 0x4a3080
mov edx, r9d
mov ecx, dword [rsi + 0x4c]
sub r8d, r9d
add rdx, qword [rbx + 0x10]
call fcn.0049f370
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 0x4a3106
mov rcx, qword [rsp + 0x20]
mov eax, dword [rcx + 0x28]
lea edx, [rax + 2]
cmp edx, dword [rcx + 0x18]
jbe 0x4a30cb
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.004a76b0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4a3261
mov rdx, qword [rsp + 0x20]
mov eax, dword [rdx + 0x28]
test eax, eax
jne 0x4a3253
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.0049f370
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.004a76b0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4a31f0
mov rax, qword [rsp + 0x20]
mov ebp, dword [rax + 0x28]
test ebp, ebp
je 0x4a24e1
jmp 0x4a2561
mov rax, rdx
mov ecx, dword [rsi + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rax + 0x10]
call fcn.0049f370
mov dword [rsi + 0x4c], eax
jmp 0x4a2cb0
mov rax, rdx
mov ecx, dword [rsi + 0x4c]
mov edx, r9d
sub r8d, r9d
add rdx, qword [rax + 0x10]
call fcn.0049f370
mov dword [rsi + 0x4c], eax
jmp 0x4a2df0
cmp edi, 1
je 0x4a333e
cmp edi, 5
je 0x4a31b9
mov rcx, qword [rsp + 0x20]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call fcn.004a7530
cmp edi, 3
je 0x4a3966
mov r12, qword [rsi + 0x28]
mov rcx, r12
call fcn.004a76b0
mov ebp, dword [r12 + 0x28]
mov eax, dword [rsi + 0x18]
cmp ebp, eax
cmova ebp, eax
test ebp, ebp
jne 0x4a3500
test eax, eax
jne 0x4a2b09
jmp 0x4a255c
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 0x4a3132
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4a3132
add edx, 2
jmp 0x4a2ed8
mov edx, ecx
or cl, 0xc0
or dl, 0x80
cmp eax, 6
cmove ecx, edx
jmp 0x4a25a3
mov dword [rdx + 0x40], 0xffffffff
xor eax, eax
jmp 0x4a23dc
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 0x4a30bb
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4a30bb
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 0x4a2b86
mov rcx, qword [rsp + 0x20]
call fcn.004a7740
jmp 0x4a31b9
mov rax, qword [0x005062f0]
mov rax, qword [rax + 0x38]
mov qword [rsi + 0x20], rax
mov eax, 0xfffffffb
jmp 0x4a23dc
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x4a2c3d
mov eax, 0xfffffffe
jmp 0x4a23dc
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 0x4a28f9
mov rax, qword [r13 + 0x10]
mov qword [r13 + 0x20], rax
jmp 0x4a28f9
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 0x4a344f
cmp dword [rbx + 0xb0], 1
jg 0x4a3445
xor edx, edx
cmp eax, 1
jg 0x4a344f
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.004a76b0
mov ebp, dword [r12 + 0x28]
cmp dword [rsi + 0x18], ebp
cmovbe ebp, dword [rsi + 0x18]
test ebp, ebp
jne 0x4a3579
mov rax, qword [rsp + 0x20]
mov r9d, dword [rax + 0x28]
test r9d, r9d
jne 0x4a2561
mov edx, dword [rax + 8]
jmp 0x4a26c0
mov rbx, qword [rsp + 0x20]
mov ecx, dword [rsi + 0x4c]
mov rdx, qword [rbx + 0x10]
mov r8d, dword [rbx + 0x28]
call fcn.0049f370
mov dword [rsi + 0x4c], eax
mov rax, qword [rbx + 0x30]
jmp 0x4a301b
mov rax, qword [0x005062f0]
mov rax, qword [rax + 0x20]
mov qword [rsi + 0x20], rax
mov eax, 0xfffffffe
jmp 0x4a23dc
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
jmp 0x4a2d83
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 0x4a31da
mov rdx, qword [r12 + 0x10]
mov qword [r12 + 0x20], rdx
jmp 0x4a31da
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 0x4a2ba4
mov rax, qword [rbp + 0x10]
mov qword [rbp + 0x20], rax
jmp 0x4a2ba4
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 0x4a3499
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4a3499
mov ebp, r12d
mov rbx, rcx
jmp 0x4a2bd5
mov r12, qword [0x00505e30]
mov rbp, qword [0x00505de0]
mov rax, qword [rsp + 0x20]
mov r13d, 0x102
mov eax, dword [rax + 0x9c]
jmp 0x4a3695
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 0x4a3617
lea rdx, [r8 + rcx - 1]
movzx r9d, byte [rdx]
cmp r9b, byte [rdx + 1]
je 0x4a36f2
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 0x4a382a
cmp eax, 0x102
ja 0x4a35e5
mov rbx, qword [rsp + 0x20]
mov rcx, rbx
call fcn.0049f620
mov eax, dword [rbx + 0x9c]
cmp eax, 0x102
ja 0x4a35e5
test edi, edi
je 0x4a2553
test eax, eax
je 0x4a39b8
mov edx, dword [rbx + 0x94]
cmp eax, 2
mov dword [rbx + 0x88], 0
mov r8, qword [rbx + 0x50]
mov ecx, edx
jbe 0x4a3617
jmp 0x4a3600
cmp r9b, byte [rdx + 2]
jne 0x4a3617
cmp r9b, byte [rdx + 3]
jne 0x4a3617
lea r14, [r8 + rcx + 0x102]
add rdx, 3
cmp r9b, byte [rdx + 1]
jne 0x4a3b37
cmp r9b, byte [rdx + 2]
jne 0x4a3b49
cmp r9b, byte [rdx + 3]
jne 0x4a3b40
cmp r9b, byte [rdx + 4]
jne 0x4a3b6d
cmp r9b, byte [rdx + 5]
jne 0x4a3b64
cmp r9b, byte [rdx + 6]
jne 0x4a3b5b
cmp r9b, byte [rdx + 7]
jne 0x4a3b52
add rdx, 8
cmp byte [rdx], r9b
sete r11b
cmp r14, rdx
seta r10b
test r11b, r10b
jne 0x4a3712
mov rbx, qword [rsp + 0x20]
sub r14, rdx
mov edx, r13d
sub edx, r14d
cmp edx, eax
mov dword [rbx + 0x88], edx
jbe 0x4a3b29
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 0x4a368d
mov rcx, qword [rsp + 0x20]
xor edx, edx
movsxd rax, dword [rcx + 0x84]
sub r8d, eax
test eax, eax
js 0x4a3846
add rax, qword [rcx + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.004a78b0
mov r13, qword [rbx]
mov eax, dword [rbx + 0x94]
mov r15, qword [r13 + 0x28]
mov dword [rbx + 0x84], eax
mov rcx, r15
call fcn.004a76b0
mov r14d, dword [r15 + 0x28]
cmp dword [r13 + 0x18], r14d
cmovbe r14d, dword [r13 + 0x18]
test r14d, r14d
jne 0x4a3922
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov ebx, dword [rax + 0x18]
test ebx, ebx
jne 0x4a35cf
jmp 0x4a2553
mov rdi, rax
movsxd rax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rdi + 0x94]
sub r8d, eax
test eax, eax
js 0x4a38c1
add rax, qword [rdi + 0x50]
mov rdx, rax
mov rdi, qword [rsp + 0x20]
mov r9d, 1
mov rcx, rdi
call fcn.004a78b0
mov rbp, qword [rdi]
mov eax, dword [rdi + 0x94]
mov r12, qword [rbp + 0x28]
mov dword [rdi + 0x84], eax
mov rcx, r12
call fcn.004a76b0
mov edi, dword [r12 + 0x28]
cmp dword [rbp + 0x18], edi
cmovbe edi, dword [rbp + 0x18]
test edi, edi
jne 0x4a3a45
mov rdi, qword [rsp + 0x20]
mov rax, qword [rdi]
mov ecx, dword [rax + 0x18]
test ecx, ecx
je 0x4a3a39
mov dword [rdi + 8], 0x29a
jmp 0x4a2b12
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 0x4a3887
mov rax, qword [r15 + 0x10]
mov qword [r15 + 0x20], rax
jmp 0x4a3887
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 0x4a31b9
mov dword [rbx + 0x94], 0
mov dword [rbx + 0x84], 0
mov dword [rbx + 0x170c], 0
jmp 0x4a31b9
mov rax, qword [rsp + 0x20]
cmp edi, 4
mov dword [rax + 0x170c], 0
je 0x4a3ac0
mov r10d, dword [rax + 0x16f4]
mov rcx, rax
test r10d, r10d
je 0x4a3190
movsxd rax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rcx + 0x94]
sub r8d, eax
test eax, eax
js 0x4a3a01
add rax, qword [rcx + 0x50]
mov rdx, rax
mov rbx, qword [rsp + 0x20]
xor r9d, r9d
mov rcx, rbx
call fcn.004a78b0
mov eax, dword [rbx + 0x94]
mov rcx, qword [rbx]
mov dword [rbx + 0x84], eax
call fcn.0049f5b0
mov rax, qword [rbx]
mov r9d, dword [rax + 0x18]
xor eax, eax
test r9d, r9d
setne al
jmp 0x4a2548
mov dword [rdi + 8], 0x29a
jmp 0x4a2553
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 0x4a3903
mov rax, qword [r12 + 0x10]
mov qword [r12 + 0x20], rax
jmp 0x4a3903
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 0x4a2a61
mov rax, qword [r13 + 0x10]
mov qword [r13 + 0x20], rax
jmp 0x4a2a61
mov rdi, rax
movsxd rax, dword [rax + 0x84]
xor edx, edx
mov r8d, dword [rdi + 0x94]
sub r8d, eax
test eax, eax
js 0x4a3ae1
add rax, qword [rdi + 0x50]
mov rdx, rax
mov rdi, qword [rsp + 0x20]
mov r9d, 1
mov rcx, rdi
call fcn.004a78b0
mov eax, dword [rdi + 0x94]
mov rcx, qword [rdi]
mov dword [rdi + 0x84], eax
call fcn.0049f5b0
mov rax, qword [rdi]
mov r11d, dword [rax + 0x18]
test r11d, r11d
je 0x4a3a39
mov rax, qword [rsp + 0x20]
mov dword [rax + 8], 0x29a
jmp 0x4a2b12
cmp edx, 2
ja 0x4a3793
jmp 0x4a3617
add rdx, 1
jmp 0x4a376f
add rdx, 3
jmp 0x4a376f
add rdx, 2
jmp 0x4a376f
add rdx, 7
jmp 0x4a376f
add rdx, 6
jmp 0x4a376f
add rdx, 5
jmp 0x4a376f
add rdx, 4
jmp 0x4a376f