Function at 0x42f3a5
Capabilities:
Check for software breakpoints

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x120
mov qword [rbp + 0x10], rcx
mov qword [rbp + 0x18], rdx
call fcn.0042f185
mov eax, dword [rbp + 0x18]
cmp eax, 0x406
jl 0x42f3e0
mov eax, dword [rbp + 0x18]
cmp eax, 0x40f
jg 0x42f3e0
mov eax, 0x3b
mov r10, rax
mov rcx, r10
call fcn.00443fdd
lea rax, [rbp - 0x90]
mov qword [rbp - 0x98], rax
mov eax, 0
mov dword [rbp - 0x2c], eax
mov eax, 0
mov dword [rbp - 0x24], eax
mov eax, 0
mov dword [rbp - 0xa8], eax
mov eax, dword [0x0044da24]
cmp eax, 0x3b
je 0x42f42c
mov eax, dword [0x0044da24]
cmp eax, 0xa
je 0x42f42c
jmp 0x42f431
jmp 0x42f562
mov eax, dword [rbp - 0x2c]
cmp eax, 3
jl 0x42f44f
lea rax, str.incorrect_number_of_operands
mov r10, rax
mov rcx, r10
call fcn.0043b310
mov rax, qword [rbp - 0x98]
mov r11, rax
mov rax, qword [rbp + 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0042e3bc
mov eax, dword [0x0044da24]
cmp eax, 0x3a
jne 0x42f523
mov rax, qword [rbp - 0x98]
mov ecx, dword [rax]
cmp ecx, 0x200
jne 0x42f4a0
mov eax, dword [rbp - 0x24]
cmp eax, 0
jne 0x42f4a0
jmp 0x42f4b2
lea rax, str.incorrect_prefix
mov r10, rax
mov rcx, r10
call fcn.0043b310
mov rax, qword [rbp - 0x98]
add rax, 4
movsx ecx, byte [rax]
movsxd rcx, ecx
lea rax, str..6_de
add rax, rcx
movzx ecx, byte [rax]
mov dword [rbp - 0x24], ecx
call fcn.004091df
mov rax, qword [rbp - 0x98]
mov r11, rax
mov rax, qword [rbp + 0x10]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0042e3bc
mov rax, qword [rbp - 0x98]
mov ecx, dword [rax]
and ecx, 0x40000000
cmp ecx, 0
je 0x42f511
jmp 0x42f523
lea rax, str.segment_prefix_must_be_followed_by_memory_reference
mov r10, rax
mov rcx, r10
call fcn.0043b310
mov rax, qword [rbp - 0x98]
mov rcx, rax
add rax, 0x20
mov qword [rbp - 0x98], rax
mov eax, dword [rbp - 0x2c]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x2c], eax
mov eax, dword [0x0044da24]
cmp eax, 0x2c
je 0x42f558
jmp 0x42f562
call fcn.004091df
jmp 0x42f409
mov eax, 0
mov dword [rbp - 0x30], eax
lea rax, [0x004496e6]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
cmp ecx, 0
je 0x42fab4
jmp 0x42f59b
mov rax, qword [rbp - 8]
mov rcx, rax
add rax, 0xa
mov qword [rbp - 8], rax
jmp 0x42f575
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x70
mov dword [rbp - 0xb8], ecx
mov eax, 0
mov dword [rbp - 0x30], eax
mov eax, dword [rbp - 0xb8]
cmp eax, 0x40
jne 0x42f604
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
mov dword [rbp - 0x1c], ecx
mov eax, dword [rbp - 0x1c]
cmp eax, 0x30
jae 0x42f5fa
mov eax, dword [rbp - 0x1c]
mov ecx, 6
cdq
idiv ecx
cmp edx, 0
jne 0x42f5fa
jmp 0x42f5ff
jmp 0x42f58a
jmp 0x42f8a3
mov eax, dword [rbp - 0xb8]
cmp eax, 0x30
jne 0x42f6b4
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
cmp ecx, edx
jl 0x42f63f
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
add ecx, 0x28
mov eax, dword [rbp + 0x18]
cmp eax, ecx
jge 0x42f63f
jmp 0x42f644
jmp 0x42f58a
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
mov rax, rcx
mov ecx, 5
cdq
idiv ecx
mov dword [rbp - 0x30], edx
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x1001
cmp ecx, 0x1000
jne 0x42f6af
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
add ecx, 1
mov rax, rcx
mov ecx, 5
cdq
idiv ecx
cmp edx, 0
jne 0x42f6a3
jmp 0x42f58a
mov eax, dword [rbp - 0x30]
mov rcx, rax
add eax, 1
mov dword [rbp - 0x30], eax
jmp 0x42f8a3
mov eax, dword [rbp - 0xb8]
cmp eax, 0x20
jne 0x42f713
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
cmp ecx, edx
jl 0x42f6ef
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
add ecx, 0x23
mov eax, dword [rbp + 0x18]
cmp eax, ecx
jge 0x42f6ef
jmp 0x42f6f4
jmp 0x42f58a
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
mov rax, rcx
mov ecx, 5
cdq
idiv ecx
mov dword [rbp - 0x30], edx
jmp 0x42f8a3
mov eax, dword [rbp - 0xb8]
cmp eax, 0x50
jne 0x42f77a
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
cmp ecx, edx
jl 0x42f74e
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
add ecx, 0x1e
mov eax, dword [rbp + 0x18]
cmp eax, ecx
jge 0x42f74e
jmp 0x42f753
jmp 0x42f58a
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x1000
cmp ecx, 0
je 0x42f775
mov eax, 4
mov dword [rbp - 0x30], eax
jmp 0x42f8a3
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 1
cmp ecx, 0
je 0x42f827
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x1000
cmp ecx, 0x1000
je 0x42f7e2
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
cmp ecx, edx
jl 0x42f7dd
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
add ecx, 5
sub ecx, 1
mov eax, dword [rbp + 0x18]
cmp eax, ecx
jge 0x42f7dd
jmp 0x42f7e2
jmp 0x42f58a
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
cmp ecx, edx
jl 0x42f80e
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
add ecx, 5
mov eax, dword [rbp + 0x18]
cmp eax, ecx
jge 0x42f80e
jmp 0x42f813
jmp 0x42f58a
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
mov dword [rbp - 0x30], ecx
jmp 0x42f8a3
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x1000
cmp ecx, 0
je 0x42f88c
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
cmp ecx, edx
jl 0x42f870
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
add ecx, 5
sub ecx, 1
mov eax, dword [rbp + 0x18]
cmp eax, ecx
jge 0x42f870
jmp 0x42f875
jmp 0x42f58a
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
add ecx, 1
mov dword [rbp - 0x30], ecx
jmp 0x42f8a3
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
mov eax, dword [rbp + 0x18]
cmp ecx, eax
je 0x42f8a3
jmp 0x42f58a
mov rax, qword [rbp - 8]
add rax, 6
movzx ecx, byte [rax]
mov eax, dword [rbp - 0x2c]
cmp ecx, eax
je 0x42f8be
jmp 0x42f58a
mov rax, qword [rbp - 8]
add rax, 2
movzx ecx, word [rax]
cmp ecx, 0xb0
jne 0x42f91a
mov eax, dword [rbp - 0x90]
cmp eax, 0x10000
je 0x42f91a
mov eax, dword [rbp - 0x70]
and eax, 0xf
cmp eax, 8
jne 0x42f91a
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x100
cmp ecx, 0
je 0x42f915
jmp 0x42f91a
jmp 0x42f58a
mov eax, 0
mov dword [rbp - 0xa8], eax
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x42faaa
jmp 0x42f94e
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x42f92d
mov rax, qword [rbp - 8]
add rax, 7
mov ecx, dword [rbp - 0xc]
movsxd rcx, ecx
add rax, rcx
movzx ecx, byte [rax]
mov dword [rbp - 0xbc], ecx
mov eax, dword [rbp - 0xbc]
and eax, 0x1f
mov dword [rbp - 0xc0], eax
jmp 0x42f9e4
mov eax, 0xd000
mov dword [rbp - 0x1c], eax
jmp 0x42fa1e
mov eax, 0xf
mov dword [rbp - 0x1c], eax
jmp 0x42fa1e
mov eax, 0xe
mov dword [rbp - 0x1c], eax
jmp 0x42fa1e
mov eax, 0xc000
mov dword [rbp - 0x1c], eax
jmp 0x42fa1e
mov eax, 0x30
mov dword [rbp - 0x1c], eax
jmp 0x42fa1e
mov eax, 0x200000
mov dword [rbp - 0x1c], eax
jmp 0x42fa1e
mov eax, 1
mov ecx, dword [rbp - 0xc0]
shl eax, cl
mov dword [rbp - 0x1c], eax
jmp 0x42fa1e
mov eax, dword [rbp - 0xc0]
cmp eax, 0x1b
jg 0x42fa0d
cmp eax, 0x1b
jge 0x42f9a3
cmp eax, 0x18
je 0x42f97c
cmp eax, 0x19
je 0x42f989
cmp eax, 0x1a
je 0x42f996
jmp 0x42f9ca
cmp eax, 0x1c
je 0x42f9b0
cmp eax, 0x1d
je 0x42f9bd
cmp eax, 0x1e
je 0x42f9bd
jmp 0x42f9ca
mov eax, dword [rbp - 0xbc]
and eax, 0x80
cmp eax, 0
je 0x42fa3f
mov eax, dword [rbp - 0x1c]
or eax, 0x40000000
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rbp - 0x1c]
mov dword [rcx], eax
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
mov eax, dword [rcx]
mov ecx, dword [rbp - 0x1c]
and eax, ecx
cmp eax, 0
jne 0x42fa81
jmp 0x42faaf
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
mov eax, dword [rbp - 0xa8]
mov edx, dword [rcx]
or eax, edx
mov dword [rbp - 0xa8], eax
jmp 0x42f940
jmp 0x42fab4
jmp 0x42f58a
mov rax, qword [rbp - 8]
movzx ecx, word [rax]
cmp ecx, 0
jne 0x42fcae
mov eax, dword [rbp + 0x18]
cmp eax, 0x3e4
jl 0x42fb49
mov eax, dword [rbp + 0x18]
cmp eax, 0x440
jg 0x42fb49
mov eax, dword [rbp + 0x18]
sub eax, 0x3e4
movsxd rax, eax
shl rax, 1
lea rcx, [0x0044a3de]
add rcx, rax
movzx eax, word [rcx]
mov dword [rbp - 0xc4], eax
mov eax, dword [rbp - 0xc4]
and eax, 0xff00
cmp eax, 0
je 0x42fb2e
mov eax, dword [rbp - 0xc4]
sar eax, 8
mov r10, rax
mov rcx, r10
call fcn.0042858e
mov eax, dword [rbp - 0xc4]
mov r10, rax
mov rcx, r10
call fcn.0042858e
jmp 0x430b95
mov eax, dword [rbp + 0x18]
cmp eax, 0x4da
jg 0x42fb93
movabs rax, 0
mov r11, rax
mov eax, dword [rbp + 0x18]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00401c7a
mov r11, rax
lea rax, str.bad_operand_with_opcode__s
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0043b310
jmp 0x42fcae
mov eax, dword [rbp + 0x18]
sub eax, 0x100
movsxd rax, eax
shl rax, 3
mov rcx, qword [0x0044da70]
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp - 0xd0], rax
mov rax, qword [rbp - 0xd0]
add rax, 0x2c
mov ecx, dword [rax]
cmp ecx, 6
jl 0x42fc8b
mov rax, qword [rbp - 0xd0]
add rax, 0x30
mov rcx, qword [rbp - 0xd0]
add rcx, 0x2c
mov edx, dword [rcx]
sub edx, 1
movsxd rdx, edx
add rax, rdx
movsx ecx, byte [rax]
mov r11, rcx
lea rax, [0x0044a5ad]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_strchr
cmp rax, 0
je 0x42fc8b
mov rax, qword [rbp - 0xd0]
add rax, 0x30
movabs rcx, 4
mov r8, rcx
lea rcx, str.cmov
mov r11, rcx
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memcmp
cmp eax, 0
je 0x42fc51
jmp 0x42fc8b
mov rax, qword [rbp - 0xd0]
add rax, 0x30
mov rcx, qword [rbp - 0xd0]
add rcx, 0x2c
mov edx, dword [rcx]
sub edx, 1
mov r11, rdx
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.00401b4b
add rax, 0x28
mov ecx, dword [rax]
mov dword [rbp + 0x18], ecx
jmp 0x42f56a
mov rax, qword [rbp - 0xd0]
add rax, 0x30
mov r11, rax
lea rax, str.unknown_opcode__s
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0043b310
mov eax, 4
mov dword [rbp - 0xac], eax
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x1001
cmp ecx, 1
jne 0x42fcde
mov eax, 3
mov dword [rbp - 0xac], eax
mov eax, dword [rbp - 0x30]
mov ecx, dword [rbp - 0xac]
cmp eax, ecx
jne 0x42fe4f
mov eax, dword [rbp - 0x2c]
sub eax, 1
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0x30]
mov ecx, dword [rbp - 0xac]
cmp eax, ecx
jne 0x42fda2
mov eax, dword [rbp - 0xc]
cmp eax, 0
jl 0x42fda2
jmp 0x42fd28
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 0xffffffff
mov dword [rbp - 0xc], eax
jmp 0x42fcf8
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
mov eax, dword [rcx]
and eax, 0xf
cmp eax, 0
je 0x42fd9d
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rcx]
and eax, 0x180000
cmp eax, 0
je 0x42fd74
jmp 0x42fd9d
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
mov eax, dword [rcx]
and eax, 0xf
lea rcx, [0x004496b8]
add rcx, rax
movzx eax, byte [rcx]
mov dword [rbp - 0x30], eax
jmp 0x42fd1a
mov eax, dword [rbp - 0x30]
mov ecx, dword [rbp - 0xac]
cmp eax, ecx
jne 0x42fe4f
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b2
je 0x42fdd6
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b6
je 0x42fdd6
jmp 0x42fdf8
mov eax, dword [rbp - 0x90]
and eax, 0xa200
cmp eax, 0
je 0x42fdf8
mov eax, 2
mov dword [rbp - 0x30], eax
jmp 0x42fe4f
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b2
je 0x42fe1b
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b6
je 0x42fe1b
jmp 0x42fe3d
mov eax, dword [rbp - 0x90]
and eax, 0x40000000
cmp eax, 0
je 0x42fe3d
mov eax, 3
mov dword [rbp - 0x30], eax
jmp 0x42fe4f
lea rax, str.cannot_infer_opcode_suffix
mov r10, rax
mov rcx, r10
call fcn.0043b310
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x42feb4
jmp 0x42fe78
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x42fe57
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
mov eax, dword [rcx]
and eax, 0x80000000
cmp eax, 0
je 0x42feb2
mov eax, 0x67
mov r10, rax
mov rcx, r10
call fcn.0042858e
jmp 0x42feb4
jmp 0x42fe6a
mov eax, 0
mov dword [rbp - 0xb0], eax
mov eax, dword [rbp - 0x30]
cmp eax, 1
jne 0x42fedb
mov eax, 1
mov dword [rbp - 0xb0], eax
jmp 0x42ff55
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x42ff55
jmp 0x42ff04
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x42fee3
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rcx]
and eax, 0x30
cmp eax, 0x30
jne 0x42ff53
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
mov eax, dword [rcx]
and eax, 0x20
cmp eax, 0
je 0x42ff53
mov eax, 1
mov dword [rbp - 0xb0], eax
jmp 0x42fef6
mov eax, dword [rbp - 0xb0]
cmp eax, 0
je 0x42ff74
mov eax, 0x66
mov r10, rax
mov rcx, r10
call fcn.0042858e
mov eax, 0
mov dword [rbp - 0xb4], eax
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x200
cmp ecx, 0
je 0x42ffa9
mov eax, 1
mov dword [rbp - 0xb4], eax
jmp 0x4300fd
mov eax, dword [rbp - 0x30]
cmp eax, 3
je 0x42ffcc
mov eax, dword [rbp - 0xa8]
and eax, 8
cmp eax, 0
jne 0x42ffcc
jmp 0x4300fd
mov eax, 0
mov dword [rbp - 0xd4], eax
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x430048
jmp 0x430000
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x42ffdf
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rcx]
cmp eax, 8
jne 0x430046
mov rax, qword [rbp - 8]
add rax, 2
movzx ecx, word [rax]
cmp ecx, 0xb8
je 0x430046
mov eax, 1
mov dword [rbp - 0xd4], eax
jmp 0x430048
jmp 0x42fff2
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b2
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b6
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2af
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b0
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b1
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b3
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b4
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2b5
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2d4
je 0x4300fd
mov eax, dword [rbp + 0x18]
cmp eax, 0x2d5
je 0x4300fd
mov eax, dword [rbp - 0xd4]
cmp eax, 0
je 0x4300f2
jmp 0x4300fd
mov eax, 1
mov dword [rbp - 0xb4], eax
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x70
cmp ecx, 0x10
jne 0x430124
mov eax, 0x9b
mov r10, rax
mov rcx, r10
call fcn.0042858e
mov eax, dword [rbp - 0x24]
cmp eax, 0
je 0x43013e
mov eax, dword [rbp - 0x24]
mov r10, rax
mov rcx, r10
call fcn.0042858e
mov rax, qword [rbp - 8]
add rax, 2
movzx ecx, word [rax]
mov dword [rbp - 0x1c], ecx
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x100
cmp ecx, 0
je 0x430186
mov eax, dword [rbp - 0x1c]
and eax, 0xffffff00
shl eax, 8
or eax, 0xf00
mov ecx, dword [rbp - 0x1c]
and ecx, 0xff
or eax, ecx
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x1c]
cmp eax, 0x69
je 0x4301a3
mov eax, dword [rbp - 0x1c]
cmp eax, 0x6b
je 0x4301a3
jmp 0x4301e9
mov eax, dword [rbp - 0x2c]
cmp eax, 2
jne 0x4301e9
mov eax, 3
mov dword [rbp - 0x2c], eax
mov eax, 0x20
mov r8, rax
lea rax, [rbp - 0x70]
mov r11, rax
lea rax, [rbp - 0x50]
mov r10, rax
mov rcx, r10
mov rdx, r11
call sub.msvcrt.dll_memmove
mov eax, dword [rbp - 0xa0]
mov dword [rbp - 0x9c], eax
jmp 0x43030a
mov eax, dword [rbp - 0x1c]
cmp eax, 0xcd
jne 0x430235
mov rax, qword [rbp - 0x88]
cmp rax, 3
jne 0x430235
mov rax, qword [rbp - 0x80]
cmp rax, 0
je 0x43021c
jmp 0x430235
mov eax, dword [rbp - 0x1c]
mov rcx, rax
add eax, 0xffffffff
mov dword [rbp - 0x1c], eax
mov eax, 0
mov dword [rbp - 0x2c], eax
jmp 0x43030a
mov eax, dword [rbp - 0x1c]
cmp eax, 6
je 0x430252
mov eax, dword [rbp - 0x1c]
cmp eax, 7
je 0x430252
jmp 0x4302a4
movsx eax, byte [rbp - 0x8c]
cmp eax, 4
jl 0x430285
mov eax, dword [rbp - 0x1c]
sub eax, 6
add eax, 0xfa0
movsx ecx, byte [rbp - 0x8c]
sub ecx, 4
shl ecx, 3
add eax, ecx
mov dword [rbp - 0x1c], eax
jmp 0x430297
movsx eax, byte [rbp - 0x8c]
shl eax, 3
mov ecx, dword [rbp - 0x1c]
add ecx, eax
mov dword [rbp - 0x1c], ecx
mov eax, 0
mov dword [rbp - 0x2c], eax
jmp 0x43030a
mov eax, dword [rbp - 0x1c]
cmp eax, 5
jg 0x4302d1
mov eax, dword [rbp + 0x18]
sub eax, 0x22a
mov ecx, 5
cdq
idiv ecx
shl eax, 3
mov ecx, dword [rbp - 0x1c]
add ecx, eax
mov dword [rbp - 0x1c], ecx
jmp 0x43030a
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x78
cmp ecx, 0x40
jne 0x43030a
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
mov rax, rcx
mov ecx, 6
cdq
idiv ecx
shl eax, 3
mov ecx, dword [rbp - 0x1c]
add ecx, eax
mov dword [rbp - 0x1c], ecx
mov eax, 0xffffffff
mov dword [rbp - 0x10], eax
mov eax, 0xffffffff
mov dword [rbp - 0x14], eax
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 8
cmp ecx, 0
je 0x4304ae
mov eax, dword [rbp - 0x2c]
cmp eax, 0
je 0x430342
jmp 0x430389
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
mov eax, 0xf
mov dword [rcx], eax
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 4
mov eax, 0
mov byte [rcx], al
jmp 0x430433
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x4303de
jmp 0x4303b2
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x430391
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rcx]
and eax, 0x40000000
cmp eax, 0
je 0x4303dc
jmp 0x430433
jmp 0x4303a4
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x430433
jmp 0x430407
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x4303e6
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rcx]
and eax, 0x40003f
cmp eax, 0
je 0x430431
jmp 0x430433
jmp 0x4303f9
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x10], eax
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x4304ae
jmp 0x430462
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x430441
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rcx]
mov dword [rbp - 0xd8], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x10]
cmp eax, ecx
je 0x4304ac
mov eax, dword [rbp - 0xd8]
and eax, 0x3ff
cmp eax, 0
je 0x4304ac
mov eax, dword [rbp - 0xc]
mov dword [rbp - 0x14], eax
jmp 0x4304ae
jmp 0x430454
mov eax, dword [rbp - 0x10]
mov qword [rsp + 0x28], rax
mov eax, dword [rbp - 0x14]
mov qword [rsp + 0x20], rax
lea rax, [rbp - 0xa4]
mov r9, rax
mov eax, dword [rbp - 0x2c]
mov r8, rax
lea rax, [rbp - 0x90]
mov r11, rax
mov eax, dword [rbp - 0xb4]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.0042ed5e
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 4
cmp ecx, 0
je 0x43059f
mov eax, dword [rbp - 0x1c]
cmp eax, 0xb0
jne 0x430527
mov eax, dword [rbp - 0x30]
cmp eax, 1
jl 0x430527
mov eax, dword [rbp - 0x1c]
add eax, 7
mov dword [rbp - 0x1c], eax
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x43059f
jmp 0x430550
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x43052f
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rcx]
and eax, 0x40f
cmp eax, 0
je 0x43059d
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 4
mov eax, dword [rbp - 0x1c]
movsx edx, byte [rcx]
add eax, edx
mov dword [rbp - 0x1c], eax
jmp 0x43059f
jmp 0x430542
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 1
cmp ecx, 0
je 0x4305cc
mov eax, dword [rbp - 0x30]
cmp eax, 1
mov eax, 0
setge al
mov ecx, dword [rbp - 0x1c]
add ecx, eax
mov dword [rbp - 0x1c], ecx
mov eax, dword [rbp - 0x2c]
cmp eax, 1
jne 0x430718
mov rax, qword [rbp - 8]
add rax, 7
movzx ecx, byte [rax]
cmp ecx, 0x1e
jne 0x430718
mov rax, qword [rbp - 0x80]
mov r10, rax
mov rcx, r10
call fcn.0040aed9
mov qword [rbp - 0xe0], rax
mov rax, qword [rbp - 0xe0]
cmp rax, 0
je 0x43063b
mov rax, qword [rbp - 0xe0]
add rax, 6
mov rcx, qword [0x00450bb0]
add rcx, 0x18
movzx edx, word [rax]
mov eax, dword [rcx]
cmp edx, eax
jne 0x43063b
jmp 0x430640
jmp 0x4306cd
mov rax, qword [rbp - 0xe0]
add rax, 8
mov rcx, qword [rbp - 0x88]
mov rdx, qword [rax]
add rcx, rdx
mov eax, dword [0x00450b40]
movsxd rax, eax
sub rcx, rax
sub rcx, 2
mov eax, dword [rbp - 0x1c]
cmp eax, 0xff
mov eax, 0
setge al
movsxd rax, eax
sub rcx, rax
mov dword [rbp - 0xe4], ecx
mov eax, dword [rbp - 0xe4]
shl eax, 0x18
sar eax, 0x18
mov ecx, dword [rbp - 0xe4]
cmp ecx, eax
jne 0x4306cd
movabs rax, 0
mov qword [rbp - 0x80], rax
mov eax, dword [rbp - 0xe4]
movsxd rax, eax
mov qword [rbp - 0x88], rax
mov eax, 0x2000
mov dword [rbp - 0xa4], eax
jmp 0x430718
mov eax, dword [rbp - 0x1c]
cmp eax, 0xeb
jne 0x4306e9
mov eax, 0xe9
mov dword [rbp - 0x1c], eax
jmp 0x430718
mov eax, dword [rbp - 0x1c]
cmp eax, 0x70
jne 0x430706
mov eax, dword [rbp - 0x1c]
add eax, 0xf10
mov dword [rbp - 0x1c], eax
jmp 0x430718
lea rax, str.invalid_displacement
mov r10, rax
mov rcx, r10
call fcn.0043b310
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x70
cmp ecx, 0x50
jne 0x430753
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
movsxd rcx, ecx
lea rax, [0x004496c1]
add rax, rcx
mov ecx, dword [rbp - 0x1c]
movzx edx, byte [rax]
add ecx, edx
mov dword [rbp - 0x1c], ecx
mov eax, dword [rbp - 0x1c]
sar eax, 0x10
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x20]
cmp eax, 0
je 0x430776
mov eax, dword [rbp - 0x20]
mov r10, rax
mov rcx, r10
call fcn.0042858e
mov eax, dword [rbp - 0x1c]
sar eax, 8
and eax, 0xff
mov dword [rbp - 0x20], eax
mov eax, dword [rbp - 0x20]
cmp eax, 0
je 0x43079f
mov eax, dword [rbp - 0x20]
mov r10, rax
mov rcx, r10
call fcn.0042858e
mov eax, dword [rbp - 0x1c]
mov r10, rax
mov rcx, r10
call fcn.0042858e
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x70
cmp ecx, 0x20
jne 0x4307f7
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
mov rax, rcx
mov ecx, 5
cdq
idiv ecx
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 0x18]
cmp eax, 6
jne 0x4307f2
mov eax, 7
mov dword [rbp - 0x18], eax
jmp 0x430877
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x70
cmp ecx, 0x30
jne 0x43082d
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
mov rax, rcx
mov ecx, 5
cdq
idiv ecx
mov dword [rbp - 0x18], eax
jmp 0x430877
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 0x70
cmp ecx, 0x40
jne 0x430863
mov rax, qword [rbp - 8]
mov ecx, dword [rbp + 0x18]
movzx edx, word [rax]
sub ecx, edx
mov rax, rcx
mov ecx, 6
cdq
idiv ecx
mov dword [rbp - 0x18], eax
jmp 0x430877
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
sar ecx, 0xd
and ecx, 7
mov dword [rbp - 0x18], ecx
mov eax, 0
mov dword [rbp - 0x28], eax
mov rax, qword [rbp - 8]
add rax, 4
movzx ecx, word [rax]
and ecx, 8
cmp ecx, 0
je 0x4308eb
mov eax, dword [rbp - 0x14]
cmp eax, 0
jl 0x4308c0
mov eax, dword [rbp - 0x14]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 4
movsx eax, byte [rcx]
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 0x10]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
mov r11, rcx
mov eax, dword [rbp - 0x18]
mov r10, rax
mov rcx, r10
mov rdx, r11
call fcn.004444f0
mov dword [rbp - 0x28], eax
mov eax, 0
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0xc]
mov ecx, dword [rbp - 0x2c]
cmp eax, ecx
jge 0x430b52
jmp 0x430914
mov eax, dword [rbp - 0xc]
mov rcx, rax
add eax, 1
mov dword [rbp - 0xc], eax
jmp 0x4308f3
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 2
lea rcx, [rbp - 0xa4]
add rcx, rax
mov eax, dword [rcx]
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x1c]
and eax, 0x21f000
cmp eax, 0
je 0x430b4d
mov eax, dword [rbp - 0x1c]
or eax, 0x1000
or eax, 0x10000
cmp eax, 0x1d000
jne 0x4309c4
mov eax, dword [rbp - 0x30]
cmp eax, 0
jne 0x430973
mov eax, 0x1000
mov dword [rbp - 0x1c], eax
jmp 0x4309c4
mov eax, dword [rbp - 0x30]
cmp eax, 1
jne 0x43098c
mov eax, 0x4000
mov dword [rbp - 0x1c], eax
jmp 0x4309c4
mov eax, dword [rbp - 0x30]
cmp eax, 2
je 0x4309af
mov eax, dword [rbp - 0x1c]
and eax, 0x10000
cmp eax, 0
je 0x4309af
jmp 0x4309bc
mov eax, 0x8000
mov dword [rbp - 0x1c], eax
jmp 0x4309c4
mov eax, 0x10000
mov dword [rbp - 0x1c], eax
mov eax, dword [rbp - 0x1c]
and eax, 0x7000
cmp eax, 0
je 0x430a11
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 8
add rcx, 8
mov rax, qword [rcx]
cmp rax, 0
je 0x430a11
lea rax, str.cannot_relocate
mov r10, rax
mov rcx, r10
call fcn.0043b310
mov eax, dword [rbp - 0x1c]
and eax, 0x3000
cmp eax, 0
je 0x430a4d
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 8
mov eax, dword [rcx]
mov r10, rax
mov rcx, r10
call fcn.0042858e
jmp 0x430b4d
mov eax, dword [rbp - 0x1c]
and eax, 0x4000
cmp eax, 0
je 0x430a89
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 8
mov eax, dword [rcx]
mov r10, rax
mov rcx, r10
call fcn.00428651
jmp 0x430b4d
mov eax, dword [rbp - 0x1c]
and eax, 0x10000
cmp eax, 0
je 0x430ac3
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 8
mov r10, rcx
mov rcx, r10
call fcn.0042ebf5
jmp 0x430b4d
mov rax, qword [rbp - 8]
add rax, 7
mov ecx, dword [rbp - 0xc]
movsxd rcx, ecx
add rax, rcx
movzx ecx, byte [rax]
cmp ecx, 0x1d
je 0x430b02
mov rax, qword [rbp - 8]
add rax, 7
mov ecx, dword [rbp - 0xc]
movsxd rcx, ecx
add rax, rcx
movzx ecx, byte [rax]
cmp ecx, 0x1e
je 0x430b02
jmp 0x430b2a
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 8
mov r10, rcx
mov rcx, r10
call fcn.0042ec5c
jmp 0x430b4d
mov eax, dword [rbp - 0xc]
movsxd rax, eax
shl rax, 5
lea rcx, [rbp - 0x90]
add rcx, rax
add rcx, 8
mov r10, rcx
mov rcx, r10
call fcn.0042eb4d
jmp 0x430906
mov eax, dword [rbp - 0x28]
cmp eax, 0
je 0x430b95
mov rax, qword [0x00450bb0]
add rax, 8
mov ecx, dword [rbp - 0x28]
movsxd rcx, ecx
mov rdx, qword [rax]
add rdx, rcx
sub rdx, 4
mov eax, dword [rbp - 0x28]
mov ecx, dword [0x00450b40]
sub eax, ecx
mov r11, rax
mov r10, rdx
mov rcx, r10
mov rdx, r11
call fcn.00441c3f
leave
ret