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

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
je 0x521d91
jne 0x521d91
add byte [rax], al
add byte [rax], al
mov eax, edi
movzx eax, word [r11 + rax*2]
mov eax, dword [r8 + rax*4]
add r9, rax
mov r10, r9
jmp 0x52269b
add edi, ebx
movzx ebx, byte [rax]
add rax, 1
je 0x522520
jne 0x522520
je 0xffffffffff8d5c58
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x5219aa
je 0x522bcc
jne 0x522bcc
ja 0x5218aa
add al, 0xe0
mov byte [rsp + rdi], al
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
je 0x52189b
jne 0x52189b
je 0x521ddd
xor edi, edi
mov rax, r11
je 0x52206f
jne 0x52206f
add byte [rax], al
add byte [rax], al
xor esi, esi
jmp 0x522899
mov qword [rcx], 0
xor eax, eax
jmp 0x521c57
add rsi, 1
je 0x522610
jne 0x522610
mov rax, qword [rdx + 0x50]
xor edi, edi
jmp 0x521c19
lea ebp, [rbx - 0x20]
mov word [rsp + rdi*2 + 2], bp
add rdi, 2
je 0x521c0f
jne 0x521c0f
cmp bpl, 0x19
ja 0x522370
jmp 0x521e4a
add dl, 0xe0
mov byte [rsp + rdi + 1], dl
add rdi, 2
je 0x521e2f
jne 0x521e2f
add byte [rax], al
add byte [rax], al
cmp bpl, 0x1a
jb 0x5220d2
jmp 0x5223bc
mov byte [rsp + rdi], al
test al, al
je 0x5224d6
mov al, byte [rbx + rdi]
je 0x5222e1
jne 0x5222e1
jmp 0xffffffff8461d94d
test al, al
je 0x521b9b
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x521996
mov byte [rsp + rdi + 1], al
je 0x521b93
jne 0x521b93
jmp 0x471a1a3f
add r8, r9
mov r10d, dword [rdx + r9 + 0x24]
je 0x522506
jne 0x522506
jmp 0x3199c4f
add rdi, 2
cmp rdi, 0x40
je 0x522e90
jne 0x522e90
add byte [rax], al
add byte [rax], al
add r8, r9
mov r10d, dword [rdx + r9 + 0x24]
add r10, r9
lea r11, [rsp + 1]
xor esi, esi
jmp 0x521f45
mov qword [rcx + 0x30], 0
je 0x5222c1
jne 0x5222c1
add byte [rax], al
add byte [rax], al
mov rdx, r14
nop dword [rax]
je 0x5221b0
jne 0x5221b0
cmp rdi, 0x40
je 0x521834
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x52226d
add al, 0xe0
je 0x521e1c
cmp bpl, 0x19
ja 0x522a05
jmp 0x522ea7
add al, 0xe0
mov byte [rsp + rdi + 1], al
je 0x521903
jne 0x521903
je 0xffffffff848e1e36
mov byte [rsp + rdi], al
test al, al
je 0x521bb8
ror byte [rdi], 0x84
add eax, dword [rdx]
add byte [rax], al
jne 0x521bb8
jmp 0xffffffff8a8e2e48
mov byte [rsp + rdi], dl
mov dl, byte [rbx + rdi]
je 0x522350
jne 0x522350
je 0xd179ce3
jae 0x52269b
je 0x522549
jne 0x522549
add byte [rax], al
add byte [rax], al
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
je 0x521aaa
jne 0x521aaa
add byte [rax], al
add byte [rax], al
xor esi, esi
mov rax, r14
movzx ebx, bl
rol esi, 0x13
add esi, ebx
movzx ebx, byte [rax]
add rax, 1
je 0x522a65
jne 0x522a65
jmp 0x1018536d
cmp rsi, rax
jae 0x5230c8
mov eax, dword [r14 + rsi*4]
lea rbx, [rax + r9]
add rbx, 1
xor edi, edi
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
je 0x522bf2
jne 0x522bf2
add byte [rax], al
add byte [rax], al
xor edi, edi
mov rax, r11
nop word cs:[rax + rax]
nop
movzx ebx, bl
rol edi, 0x13
je 0x522f9f
jne 0x522f9f
add byte [rax], al
add byte [rax], al
test bx, bx
je 0x52244f
movzx ebx, word [rax + rdi*2 + 2]
mov esi, ebx
je 0x5225fd
jne 0x5225fd
jmp 0xffffffff8461db1b
test al, al
je 0x522ec7
mov al, byte [rbx + rdi]
je 0x52217a
jne 0x52217a
jb 0x522c01
jmp 0x52294b
mov byte [rsp + rdi], al
test al, al
je 0x522957
je 0x522d11
jne 0x522d11
je 0x7479ee1
je 0x5221c9
add byte [rax], al
je 0x521d0c
jne 0x521d0c
cmp rsi, rax
jae 0x523057
je 0x522236
jne 0x522236
xor edi, edi
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x52274e
jmp 0x522dc0
add al, 0xe0
mov byte [rsp + rdi + 1], al
je 0x52248c
jne 0x52248c
add byte [rax], al
add byte [rax], al
je 0x522a16
jne 0x522a16
je 0xe9ba244
ja 0x522980
add byte [rax], al
jmp 0x522f6c
add al, 0xe0
mov byte [rsp + rdi + 1], al
add rdi, 2
je 0x522f51
mov eax, esi
movzx eax, word [r10 + rax*2]
mov eax, dword [r8 + rax*4]
add rax, r9
mov qword [rcx + 8], rax
je 0x523106
jne 0x523106
jmp 0xffffffff8561dc1b
test al, al
jne 0x521903
mov bl, byte [rsp]
test bl, bl
je 0x522d58
xor edi, edi
mov rax, r11
je 0x522903
jne 0x522903
jmp 0x2089fcb
je 0x521d74
je 0x521c7e
jne 0x521c7e
jmp 0x86ea940
cmp rdi, 0x40
je 0x52265d
movzx ebx, word [rax + rdi*2]
mov esi, ebx
add esi, 0xffffff9f
cmp si, 0x19
ja 0x5227d0
je 0x5227b6
jne 0x5227b6
add r8, r9
mov r10d, dword [rdx + r9 + 0x24]
add r10, r9
lea r11, [rsp + 1]
xor esi, esi
jmp 0x521cdc
mov qword [rcx + 0x20], 0
je 0x522ef4
jne 0x522ef4
jmp 0xf940cf1
mov eax, esi
movzx eax, word [r10 + rax*2]
mov eax, dword [r8 + rax*4]
add rax, r9
je 0x522790
jne 0x522790
add al, 0xe0
mov byte [rsp + rdi], al
je 0x5219e6
jne 0x5219e6
je 0xf940d1e
mov eax, esi
movzx eax, word [r10 + rax*2]
mov eax, dword [r8 + rax*4]
mov bh, 4
mov eax, dword [r8 + rax*4]
je 0x522a83
jne 0x522a83
je 0x24c6a9fa
lea r14, [rsp + 1]
xor esi, esi
jmp 0x523143
add dword [rcx], esi
imul cl
lea edx, [rax + rax]
add byte [rsi + 0x2e], ah
nop dword [rax + rax]
je 0x523131
jne 0x523131
je 0x1196a813
mov eax, dword [r9 + rdx + 0x18]
cmp rsi, rax
jae 0x521932
sbb byte [rax + 0x39], cl
invalid
je 0x522c31
jne 0x522c31
jmp 0x4e201e3a
add r14, r9
add r8, r9
mov r10d, dword [rdx + r9 + 0x24]
add r10, r9
lea r11, [rsp + 1]
je 0x5230c1
jne 0x5230c1
add byte [rax], al
add byte [rax], al
je 0x522863
jne 0x522863
jmp 0x4dafd21
add al, 0xe0
mov byte [rsp + rdi], al
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x522d79
jmp 0x522b1a
jne 0x522f20
je 0x521fb2
jne 0x521fb2
je 0xffffffff848e21e3
mov byte [rsp + rdi], al
test al, al
je 0x52303b
ror byte [rdi], 0x84
fst dword [rdx]
add byte [rax], al
jne 0x52303b
add byte [rax], al
add byte [rax], al
test al, al
jne 0x522848
mov bl, byte [rsp]
test bl, bl
je 0x523066
xor edi, edi
je 0x522f7d
jne 0x522f7d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov r9, qword [rax + 0x20]
lea r8, [rsp + 2]
mov rdx, r9
nop word [rax + rax]
je 0x521fa5
jne 0x521fa5
je 0xffffffffb656a903
mov eax, dword [r14 + rsi*4]
lea rbx, [rax + r9]
add rbx, 1
xor edi, edi
mov al, byte [rbx + rdi - 1]
je 0x52302c
jne 0x52302c
jmp 0x218a129
add rsi, 1
mov eax, dword [r9 + rdx + 0x18]
cmp rsi, rax
jae 0x522689
mov eax, dword [r14 + rsi*4]
lea rbx, [rax + r9]
add rbx, 1
je 0x52237c
cmp rdi, 0x40
je 0x521cc0
mov dl, byte [rbx + rdi - 1]
lea ebp, [rdx - 0x61]
cmp bpl, 0x19
ja 0x522370
add dl, 0xe0
je 0x5219bc
jne 0x5219bc
add byte [rax], al
add byte [rax], al
movsxd rax, dword [r9 + 0x3c]
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x522887
je 0x5225ae
mov r9, qword [rdx + 0x20]
xor eax, eax
test r9, r9
je 0x521c57
movsxd rdx, dword [r9 + 0x3c]
je 0x523098
jne 0x523098
add byte [rax], al
add byte [rax], al
jne 0x522820
je 0x521c91
jne 0x521c91
jmp 0x471a2009
add r8, r9
mov r10d, dword [rdx + r9 + 0x24]
add r10, r9
lea r11, [rsp + 1]
je 0x52181f
jne 0x52181f
add byte [rax], al
add byte [rax], al
add r11, r9
lea r14, [rsp + 1]
xor r10d, r10d
xor edi, edi
je 0x522c4f
jne 0x522c4f
test al, al
je 0x52205c
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x522718
mov byte [rsp + rdi + 1], al
je 0x5221d6
jne 0x5221d6
jmp 0xffffffff8461faa2
test bl, bl
je 0x522820
je 0x521a4f
jne 0x521a4f
jmp 0x5217db
mov eax, dword [r14 + rsi*4]
lea rbx, [rax + r9]
add rbx, 1
je 0x521af5
jne 0x521af5
je 0x18e73eb
mov byte [rsp + rdi + 1], dl
test dl, dl
jne 0x521887
mov bl, byte [rsp]
test bl, bl
je 0x521cc0
xor edi, edi
je 0x52194a
jne 0x52194a
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x521b40
jmp 0x5229b7
je 0x521844
jne 0x521844
jmp 0x2c1c36f3
cmp eax, 0x6e2bca17
je 0x522679
je 0x52265d
jne 0x52265d
add byte [rax], al
add byte [rax], al
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x522130
jmp 0x522cec
add al, 0xe0
mov byte [rsp + rdi + 1], al
je 0x522928
jne 0x522928
mov byte [rsp + rdi], al
test al, al
je 0x522b26
mov al, byte [rbx + rdi]
je 0x522b0d
jne 0x522b0d
rol edi, 0x13
add edi, ebx
movzx ebx, byte [rax]
add rax, 1
test bl, bl
je 0x5224e7
jne 0x5224e7
jmp 0x319a383
add rdi, 2
je 0x52195c
jne 0x52195c
je 0x212a395
add rax, 1
test bl, bl
je 0x522ba2
jne 0x522ba2
jmp 0xffffffff84763cea
mov bl, byte [rsp]
test bl, bl
je 0x522218
jne 0x522218
je 0xffffffffc22dd682
movzx ebx, bl
rol edi, 0x13
add edi, ebx
je 0x522a4e
invalid
jne 0x522a4e
movzx eax, word [r10 + rax*2]
mov eax, dword [r8 + rax*4]
add rax, r9
mov qword [rcx + 0x10], rax
movsxd rax, dword [r9 + 0x3c]
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x522698
jmp 0x5217ed
add al, 0xe0
mov byte [rsp + rdi + 1], al
add rdi, 2
cmp rdi, 0x40
je 0x522ca4
jne 0x522ca4
mov r8d, dword [rdx + r9 + 0x1c]
mov r14d, dword [rdx + r9 + 0x20]
add r14, r9
je 0x521eb8
jne 0x521eb8
je 0xffffffff84713071
nop word [rax + rax]
je 0x522780
add byte [rax], al
add byte [rax], al
add byte [rdi], cl
test byte [rdx + 6], ch
add byte [rax], al
jne 0x522780
jmp 0x5bc50a
jmp 0x522ac5
je 0x521d57
jne 0x521d57
jmp 0x165e902
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
je 0x522eb5
jne 0x522eb5
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x5225e0
add al, 0xe0
mov byte [rsp + rsi], al
mov al, byte [rbx + rsi]
je 0x522624
jne 0x522624
je 0xffffffffc22dd7c3
movzx ebx, bl
rol edi, 0x13
je 0x5226f9
invalid
jne 0x5226f9
je 0x4a83b1
jmp 0x521a2a
dec dword [rdi]
test byte [rax], cl
or al, 0
add byte [rdi], cl
test dword [rdx], eax
or al, 0
add cl, ch
je 0x522dd7
jne 0x522dd7
jmp 0xffffffff8561e25e
test al, al
jne 0x52271e
je 0x52205c
jne 0x52205c
add byte [rax], al
add byte [rax], al
cmp edi, 0xd803d0a
jne 0x523066
mov eax, esi
movzx eax, word [r10 + rax*2]
mov eax, dword [r8 + rax*4]
add rax, r9
je 0x5223d8
jne 0x5223d8
je 0x521834
xor edi, edi
mov rax, r11
movzx ebx, bl
je 0x52201c
jne 0x52201c
add byte [rax], al
add byte [rax], al
mov eax, dword [r14 + rsi*4]
lea rbx, [rax + r9]
add rbx, 1
xor edi, edi
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
je 0x521b31
jne 0x521b31
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x522718
jmp 0x521f09
mov byte [rsp + rdi], al
je 0x521ef1
jne 0x521ef1
jne 0x521b46
mov bl, byte [rsp]
je 0x521f1a
jne 0x521f1a
je 0xffffffffbe6f2218
cmp edi, 0x302ebe1c
jne 0x522d58
xor byte cs:[rdi], cl
test dword [rcx - 0x76fffff6], edi
invalid
mov eax, esi
movzx eax, word [r10 + rax*2]
mov eax, dword [r8 + rax*4]
add rax, r9
mov qword [rcx], rax
movsxd rax, dword [r9 + 0x3c]
je 0x522b3b
jne 0x522b3b
jmp 0xffffffff903be2f6
xor eax, eax
jmp 0x521c57
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
je 0x5223b6
jne 0x5223b6
add byte [rax], al
add byte [rax], al
mov r10d, dword [rdx + r9 + 0x24]
add r10, r9
lea r11, [rsp + 1]
xor esi, esi
je 0x522468
jne 0x522468
add byte [rax], al
add byte [rax], al
cmp rsi, rax
jae 0x5221c9
je 0x521dbe
jne 0x521dbe
jmp 0xffffffffb656ae72
mov eax, dword [r14 + rsi*4]
je 0x521bf2
mov r14d, dword [rdx + r9 + 0x20]
je 0x521ce9
jne 0x521ce9
jmp 0x40f18de1
lea ebp, [rdx - 0x61]
cmp bpl, 0x1a
jb 0x521880
jmp 0x5226c7
je 0x52241a
jne 0x52241a
xor edi, edi
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x5218aa
je 0x5220cd
jne 0x5220cd
jmp 0x215a6e8
add rbx, 1
xor edi, edi
mov dl, byte [rbx + rdi - 1]
je 0x522968
jne 0x522968
jb 0x5220d2
mov byte [rsp + rdi + 1], al
je 0x5224ce
jne 0x5224ce
je 0x1b50a738
cmp si, 0x1a
je 0x52243b
jne 0x52243b
je 0x4093ad24
mov qword [rcx + 0x40], rax
movsxd rax, dword [r9 + 0x3c]
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x522d49
je 0x5222c8
xor edi, edi
je 0x52272a
jne 0x52272a
mov byte [rsp + rdi], dl
test dl, dl
je 0x521f6b
mov dl, byte [rbx + rdi]
lea ebp, [rdx - 0x61]
je 0x5226bd
jne 0x5226bd
add byte [rax], al
add byte [rax], al
jb 0x521850
mov word [rsp + rdi*2 + 2], bx
test bx, bx
jne 0x521858
movzx ebx, word [rsp]
test bx, bx
je 0x52265d
je 0x522b68
jne 0x522b68
jmp 0x52300d
ja 0x5225e0
je 0x5227d5
jne 0x5227d5
jmp 0x319a7d8
movzx eax, word [r11 + rax*2]
mov eax, dword [r8 + rax*4]
jne 0x522e5e
add byte [rax], al
add byte [rax], al
mov eax, esi
je 0x522087
jne 0x522087
test al, al
jne 0x5220d8
mov bl, byte [rsp]
test bl, bl
je 0x521804
jne 0x522223
cmp edi, 0x1803b7e3
jne 0x521834
je 0x521b74
jne 0x521b74
jmp 0x4d1c2657
add r10, r9
lea r11, [rsp + 1]
xor esi, esi
je 0x5221c4
jne 0x5221c4
add byte [rax], al
add byte [rax], al
test bl, bl
jne 0x52272d
cmp edi, 0x8a8b4676
je 0x5226a7
jne 0x5226a7
jmp 0x50a3ae8b
mov qword [rcx + 0x50], r10
mov eax, 1
jmp 0x521c57
mov eax, dword [r15 + rdi*4]
lea rbx, [rax + r9]
add rbx, 1
xor esi, esi
mov al, byte [rbx + rsi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
je 0x522479
jne 0x522479
jmp 0xfffffffffd70a982
je 0x522293
jne 0x522293
add byte [rax], al
add byte [rax], al
cmp edi, 0xe183277b
jne 0x522de6
mov eax, esi
movzx eax, word [r10 + rax*2]
mov eax, dword [r8 + rax*4]
add rax, r9
mov qword [rcx + 0x18], rax
movsxd rax, dword [r9 + 0x3c]
je 0x522a2c
jne 0x522a2c
jmp 0xa96b0f8
mov byte [rsp + rsi], al
test al, al
je 0x522e27
mov al, byte [rbx + rsi]
lea ebp, [rax - 0x61]
je 0x522e11
jne 0x522e11
add esi, 0xffffff9f
je 0x5223ce
jne 0x5223ce
add byte [rax], al
add byte [rax], al
mov eax, dword [r9 + rdx + 0x18]
cmp rsi, rax
je 0x522893
jne 0x522893
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x5227da
jmp 0x522e1b
mov rdx, qword [rdx]
xor eax, eax
test rdx, rdx
je 0x521c57
cmp rdx, r9
jne 0x521db0
jmp 0x521c57
je 0x521e82
jne 0x521e82
add byte [rax], al
add byte [rax], al
mov qword [rcx + 0x10], 0
xor eax, eax
jmp 0x521c57
je 0x52253b
jne 0x52253b
jne 0x5222c8
je 0x521c64
jne 0x521c64
add byte [rax], al
add byte [rax], al
cmp bpl, 0x1a
jb 0x521880
je 0x521f5f
jne 0x521f5f
add byte [rax], al
add byte [rax], al
test bl, bl
jne 0x521950
cmp edi, 0xd9303a47
jne 0x521cc0
mov eax, esi
je 0x52249e
jne 0x52249e
add edi, ebx
movzx ebx, byte [rdx]
add rdx, 1
je 0x5226d7
jne 0x5226d7
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x52226d
jmp 0x521977
add al, 0xe0
mov byte [rsp + rdi + 1], al
je 0x522037
jne 0x522037
mov rax, r11
movzx ebx, bl
rol edi, 0x13
je 0x5217b3
jne 0x5217b3
cmp bpl, 0x1a
jb 0x521b0d
jmp 0x522ebb
mov byte [rsp + rdi], al
je 0x521a93
jne 0x521a93
jmp 0xf9417eb
movzx ebx, bl
je 0x52213d
mov qword [rcx + 0x28], rax
movsxd rax, dword [r9 + 0x3c]
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x521ace
jne 0x521ace
add byte [rax], al
add byte [rax], al
add ebx, 0xffffffe0
mov word [rsp + rdi*2], bx
jmp 0x521a7f
je 0x522836
jne 0x522836
jmp 0x4be8c2
jmp 0x52219a
add al, 0xe0
mov byte [rsp + rsi + 1], al
add rsi, 2
cmp rsi, 0x40
je 0x522c63
mov al, byte [rbx + rsi - 1]
je 0x52218d
jne 0x52218d
jmp 0x218ab4b
add rsi, 1
je 0x521cce
jne 0x521cce
add r10, r9
lea r11, [rsp + 1]
xor esi, esi
jmp 0x522236
add rsi, 1
mov eax, dword [r9 + rdx + 0x18]
je 0x521ae0
jne 0x521ae0
jmp 0x7c6eb1a0
mov word [rsp + rdi*2], bx
je 0x521a76
jne 0x521a76
je 0x319ab94
add rdi, 2
cmp rdi, 0x40
je 0x523066
je 0x5217ca
jne 0x5217ca
jmp 0xa96b3ad
mov r8d, dword [rdx + r9 + 0x1c]
mov r14d, dword [rdx + r9 + 0x20]
add r14, r9
add r8, r9
mov r10d, dword [rdx + r9 + 0x24]
add r10, r9
lea r11, [rsp + 1]
xor esi, esi
jmp 0x521dbe
je 0x522d24
jne 0x522d24
jae 0x522c54
je 0x522e3f
jne 0x522e3f
add byte [rax], al
add byte [rax], al
mov r10d, dword [r15 + r9 + 0x20]
add r10, r9
add r8, r9
mov r11d, dword [r15 + r9 + 0x24]
add r11, r9
je 0x521caa
jne 0x521caa
je 0xac6b414
and byte [rbp + 1], cl
invalid
movzx ebx, bl
rol edi, 0x13
add edi, ebx
movzx ebx, byte [rax]
add rax, 1
test bl, bl
jne 0x521bab
je 0x52256f
jne 0x52256f
je 0x319ac74
add rdi, 2
cmp rdi, 0x40
je 0x5227ff
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x522c01
mov byte [rsp + rdi + 1], al
test al, al
jne 0x522c07
mov bl, byte [rsp]
je 0x522b76
jne 0x522b76
je 0xff193f9
lea ebp, [rdx - 0x61]
je 0x521868
test bh, dh
out dx, al
invalid
mov byte [rsp + rdi], al
test al, al
je 0x522dfb
jne 0x522dfb
add byte [rax], al
add byte [rax], al
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
je 0x522ce2
jne 0x522ce2
je 0x40f1923b
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
cmp ch, 0x1a
jb 0x521b40
mov byte [rsp + rdi + 1], al
test al, al
je 0x52227c
jne 0x52227c
je 0x522d33
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x522002
je 0x521d19
jne 0x521d19
jmp 0xffffffff8a8e2e79
mov byte [rsp + rdi], al
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x521996
jmp 0x5218dd
mov byte [rsp + rdi], al
je 0x5218c5
jne 0x5218c5
je 0x44db0a1e
add al, 0xe0
mov byte [rsp + rdi + 1], al
cmp al, 1
je 0x522848
jne 0x522848
add byte [rax], al
add byte [rax], al
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x522c54
je 0x5220ec
jne 0x5220ec
je 0x486ae061
movzx ebx, byte [rax]
add rax, 1
add eax, 1
test bl, bl
je 0x5230e4
jne 0x5230e4
je 0xffffffff856205ed
test bl, bl
jne 0x521a05
cwde
out dx, eax
invalid
cmp esi, 0xd5e9949f
je 0x522dae
jne 0x522dae
add byte [rax], al
add byte [rax], al
add rax, r9
mov qword [rcx + 0x38], rax
movsxd rax, dword [r9 + 0x3c]
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x521932
mov r8d, dword [rdx + r9 + 0x1c]
mov r14d, dword [rdx + r9 + 0x20]
add r14, r9
je 0x521c38
jne 0x521c38
cmp bpl, 0x1a
jb 0x521ff0
mov byte [rsp + rdi + 1], al
test al, al
jne 0x521ff6
je 0x522f33
add rax, r9
mov qword [rcx + 0x48], rax
movsxd rax, dword [r9 + 0x3c]
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x521826
je 0x52307a
jne 0x52307a
add byte [rax], al
add byte [rax], al
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x522d79
mov byte [rsp + rdi + 1], al
test al, al
jne 0x522d7f
mov bl, byte [rsp]
test bl, bl
je 0x522fdc
jne 0x522fdc
add byte [rax], al
add byte [rax], al
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x5230c8
mov r8d, dword [rdx + r9 + 0x1c]
mov r14d, dword [rdx + r9 + 0x20]
add r14, r9
je 0x5218ee
jne 0x5218ee
xor eax, eax
je 0x522f18
jne 0x522f18
test bl, bl
je 0x522de6
xor edi, edi
mov rax, r11
je 0x522cc2
jne 0x522cc2
pop rdi
pop rsi
pop r14
pop r15
ret
jne 0x522fe7
cmp edi, 0xe99c4eca
jne 0x522d33
mov eax, esi
movzx eax, word [r10 + rax*2]
mov eax, dword [r8 + rax*4]
je 0x522ade
jne 0x522ade
jmp 0x4db0bd4
add al, 0xe0
mov byte [rsp + rdi], al
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x521b23
cmp bpl, 0x19
ja 0x521ab5
jmp 0x521be5
add al, 0xe0
mov byte [rsp + rdi + 1], al
add rdi, 2
cmp rdi, 0x40
je 0x522de6
lea ebp, [rax - 0x61]
je 0x521987
jne 0x521987
jmp 0xffffffffb656b776
mov eax, dword [r14 + rsi*4]
lea rbx, [rax + r9]
add rbx, 1
xor edi, edi
je 0x521fcd
jne 0x521fcd
add byte [rax], al
add byte [rax], al
jmp 0x5219d6
mov qword [rcx + 8], 0
xor eax, eax
jmp 0x521c57
add rdi, 1
mov eax, dword [r9 + rdx + 0x18]
cmp rdi, rax
je 0x5219d0
jne 0x5219d0
je 0xbd63bde
pop rbp
je 0x522b8f
invalid
jne 0x522b8f
add byte [rax], al
add byte [rax], al
add r8, r9
mov r10d, dword [rdx + r9 + 0x24]
je 0x52280f
jne 0x52280f
je 0xfffffffff185b0b7
je 0x521ddd
invalid
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
je 0x5217e7
jne 0x5217e7
movzx ebx, bl
rol edi, 0x13
add edi, ebx
movzx ebx, byte [rax]
add rax, 1
test bl, bl
jne 0x522cc2
je 0x52257f
jne 0x52257f
jmp 0x1a4fad26
cmp bpl, 0x19
ja 0x522130
add al, 0xe0
mov byte [rsp + rdi], al
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
cmp bpl, 0x1a
jb 0x521ff0
je 0x52211d
jne 0x52211d
add byte [rax], al
add byte [rax], al
mov al, byte [rbx + rdi]
je 0x52293e
jne 0x52293e
add byte [rax], al
add byte [rax], al
mov qword [rcx + 0x40], 0
xor eax, eax
jmp 0x521c57
add rsi, 1
mov eax, dword [r9 + rdx + 0x18]
je 0x522317
jne 0x522317
jmp 0x2893f495
add rsi, 1
je 0x522fff
jne 0x522fff
je 0x1a4fadae
cmp bpl, 0x19
ja 0x522002
jmp 0x5229e0
add al, 0xe0
mov byte [rsp + rdi + 1], al
add rdi, 2
cmp rdi, 0x40
je 0x5229c9
jne 0x5229c9
jmp 0x1a4fadd8
jne 0x522c63
je 0x52178f
jne 0x52178f
add al, 0xe0
mov byte [rsp + rdi], al
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
je 0x52273f
jne 0x52273f
mov qword [rcx + 0x48], 0
xor eax, eax
jmp 0x521c57
add rsi, 1
mov eax, dword [r9 + rdx + 0x18]
je 0x521a21
jne 0x521a21
je 0x522282
mov al, byte [rbx + rdi]
je 0x5229aa
jne 0x5229aa
jmp 0x1b4fae55
cmp bpl, 0x1a
jb 0x5227da
mov byte [rsp + rsi + 1], al
test al, al
jne 0x5227e0
mov bl, byte [rsp]
test bl, bl
je 0x522c63
je 0x521a00
jne 0x521a00
jmp 0xffffffffb656b984
mov eax, dword [r14 + rsi*4]
lea rbx, [rax + r9]
add rbx, 1
xor edi, edi
mov al, byte [rbx + rdi - 1]
je 0x522706
jne 0x522706
jmp 0x3c9391ab
movsxd rax, dword [r9 + 0x3c]
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x523057
mov r8d, dword [rdx + r9 + 0x1c]
mov r14d, dword [rdx + r9 + 0x20]
add r14, r9
je 0x522c8e
jne 0x522c8e
je 0x522d58
mov al, byte [rbx + rdi - 1]
lea ebp, [rax - 0x61]
cmp bpl, 0x19
ja 0x522a05
add al, 0xe0
je 0x5229ed
jne 0x5229ed
jb 0x521b0d
mov byte [rsp + rdi + 1], al
test al, al
jne 0x521b13
mov bl, byte [rsp]
test bl, bl
je 0x522406
jne 0x522406
je 0x1196ba1f
mov eax, dword [r9 + rdx + 0x18]
cmp rsi, rax
jae 0x522887
sbb byte [rax + 0x39], cl
invalid
je 0x52232d
jne 0x52232d
add rsp, 0x88
pop rbx
je 0x522c7d
jne 0x522c7d
jmp 0x102db473
test bx, bx
je 0x521d43
jne 0x521d43
mov rdi, r8
nop dword [rax + rax]
movzx ebx, bx
rol eax, 0x13
add eax, ebx
movzx ebx, word [rdi]
add rdi, 2
je 0x522f09
jne 0x522f09
mov bl, byte [rsp]
test bl, bl
je 0x5227ff
xor edi, edi
mov rax, r11
je 0x522107
jne 0x522107
je 0x4151b29d
add al, 0xe0
mov byte [rsp + rdi], al
je 0x521f84
jne 0x521f84
mov rax, r11
je 0x5228df
add edi, ebx
movzx ebx, byte [rax]
add rax, 1
test bl, bl
jne 0x521a60
cmp edi, 0xecc6c96f
je 0x521ea5
jne 0x521ea5
jmp 0x40f19854
je 0x522d33
xor edi, edi
mov rax, r11
movzx ebx, bl
rol edi, 0x13
add edi, ebx
movzx ebx, byte [rax]
je 0x522049
jne 0x522049
jmp 0x1196bb44
mov eax, dword [r9 + rdx + 0x18]
cmp rsi, rax
jae 0x521826
mov eax, dword [r14 + rsi*4]
lea rbx, [rax + r9]
add rbx, 1
xor edi, edi
mov al, byte [rbx + rdi - 1]
je 0x522c21
jne 0x522c21
jmp 0xff198bd
lea ebp, [rax - 0x61]
je 0x522d6a
jne 0x522d6a
je 0x522f33
mov al, byte [rbx + rdi]
lea ebp, [rax - 0x61]
je 0x522abb
jne 0x522abb
add byte [rax], al
add byte [rax], al
mov qword [rcx + 0x38], 0
xor eax, eax
jmp 0x521c57
add rsi, 1
je 0x522eda
jne 0x522eda
add byte [rax], al
add byte [rax], al
mov r8d, dword [rdx + r9 + 0x1c]
mov r14d, dword [rdx + r9 + 0x20]
add r14, r9
add r8, r9
je 0x5222f8
jne 0x5222f8
mov r15d, dword [rdx + r9 + 0x88]
cmp dword [r15 + r9 + 0x18], 0
je 0x521c4f
mov r8d, dword [r15 + r9 + 0x1c]
je 0x5228a9
jne 0x5228a9
add byte [rax], al
add byte [rax], al
xor esi, esi
jmp 0x521def
mov qword [rcx + 0x18], 0
xor eax, eax
jmp 0x521c57
jne 0x52180f
cmp edi, 0x4247bc72
jne 0x521ddd
je 0x5224be
jne 0x5224be
add byte [rax], al
add byte [rax], al
movsxd rax, dword [r9 + 0x3c]
mov edx, dword [rax + r9 + 0x88]
cmp dword [rdx + r9 + 0x18], 0
je 0x522689
mov r8d, dword [rdx + r9 + 0x1c]
je 0x52233e
jne 0x52233e
je 0x218b47d
add rsi, 1
mov edx, dword [r9 + r15 + 0x18]
cmp rsi, rdx
jae 0x521c4f
mov edx, dword [r10 + rsi*4]
lea rbx, [rdx + r9]
je 0x52239c
jne 0x52239c
nop word [rax + rax]
sub rsp, 0x58
test rdx, rdx
je 0x52319a