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

Disassembly:
push rbp
push rsi
push rbx
mov rbp, rsp
sub rsp, 0x90
movsd qword [rbp + 0x20], xmm0
movsd qword [rbp + 0x28], xmm1
movsd qword [rbp + 0x30], xmm2
movsd qword [rbp + 0x38], xmm3
mov dword [0x00c59600], 0
mov dword [0x00c59604], 0
mov dword [0x00c59608], 1
mov dword [0x00c5960c], 0
mov dword [0x00c59610], 0
mov dword [0x00c596a8], 0
mov qword [rbp - 8], 0
mov qword [rbp - 0x10], 0
cmp dword [rbp + 0x40], 0
je 0x43af36
mov eax, dword [0x0058713c]
mov edx, dword [rbp + 0x40]
sub edx, eax
mov eax, edx
cdqe
mov rcx, qword [0x00712f70]
mov rdx, rax
call fcn.00437a12
mov qword [rbp - 0x10], rax
cmp qword [rbp - 0x10], 0
je 0x43af36
mov eax, dword [0x0058713c]
sub dword [rbp + 0x40], eax
call fcn.0043ab5d
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
mov word [0x00c596d4], ax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 4]
mov word [0x00c596d6], ax
mov byte [0x00c59740], 0
mov rax, qword [rbp - 0x10]
mov eax, dword [rax + 0x28]
mov byte [0x00c5971c], al
lea rax, [0x00c596c0]
mov qword [0x00c595b0], rax
cmp dword [rbp + 0x48], 0
jns 0x43aeed
mov eax, dword [0x0058713c]
mov edx, dword [rbp + 0x48]
sub edx, eax
mov eax, edx
cdqe
mov rcx, qword [0x00712f70]
mov rdx, rax
call fcn.00437a12
mov qword [rbp - 8], rax
cmp qword [rbp - 8], 0
jne 0x43aea5
mov ecx, 0x102
call fcn.0044487a
jmp 0x4400c0
mov eax, dword [0x0058713c]
sub dword [rbp + 0x48], eax
mov rax, qword [rbp - 8]
mov eax, dword [rax]
mov word [0x00c59794], ax
mov rax, qword [rbp - 8]
mov eax, dword [rax + 4]
mov word [0x00c59796], ax
mov byte [0x00c59800], 0
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x28]
mov byte [0x00c597dc], al
lea rax, [0x00c59780]
mov qword [0x00c595b8], rax
jmp 0x43af13
cmp dword [rbp + 0x48], 1
jle 0x43af02
mov ecx, 5
call fcn.0044487a
jmp 0x4400c0
neg dword [rbp + 0x48]
mov rax, qword [0x00723a60]
mov qword [0x00c595b8], rax
mov dword [0x00c595a8], 4
mov dword [0x00c595a4], 4
mov dword [0x00c596a8], 1
jmp 0x43b1e7
mov eax, dword [rbp + 0x70]
and eax, 8
test eax, eax
je 0x43afeb
cmp dword [rbp + 0x40], 0
js 0x43af8c
mov eax, dword [rbp + 0x40]
mov ecx, eax
call fcn.0044b6a6
mov rcx, qword [0x00723a08]
mov rdx, qword [0x00723a00]
mov eax, dword [rbp + 0x40]
cdqe
shl rax, 2
add rax, rdx
mov eax, dword [rax]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 6
add rax, rcx
mov qword [0x00c595b0], rax
jmp 0x43aff9
neg dword [rbp + 0x40]
mov eax, dword [0x00723a10]
cmp dword [rbp + 0x40], eax
jl 0x43afa9
mov ecx, 0x102
call fcn.0044487a
jmp 0x4400c0
mov rcx, qword [0x00723a08]
mov eax, dword [rbp + 0x40]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 6
add rax, rcx
mov qword [0x00c595b0], rax
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x10]
test al, al
jne 0x43aff9
mov ecx, 0x102
call fcn.0044487a
jmp 0x4400c0
mov rax, qword [0x00723a58]
mov qword [0x00c595b0], rax
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x11]
test al, al
je 0x43b017
mov ecx, 5
call fcn.0044487a
jmp 0x4400c0
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x18]
movzx eax, al
mov dword [0x00c595a8], eax
mov eax, dword [rbp + 0x70]
and eax, 0x20
test eax, eax
je 0x43b0e0
cmp dword [rbp + 0x48], 0
js 0x43b081
mov eax, dword [rbp + 0x48]
mov ecx, eax
call fcn.0044b6a6
mov rcx, qword [0x00723a08]
mov rdx, qword [0x00723a00]
mov eax, dword [rbp + 0x48]
cdqe
shl rax, 2
add rax, rdx
mov eax, dword [rax]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 6
add rax, rcx
mov qword [0x00c595b8], rax
jmp 0x43b0ee
neg dword [rbp + 0x48]
mov eax, dword [0x00723a10]
cmp dword [rbp + 0x48], eax
jl 0x43b09e
mov ecx, 0x102
call fcn.0044487a
jmp 0x4400c0
mov rcx, qword [0x00723a08]
mov eax, dword [rbp + 0x48]
movsxd rdx, eax
mov rax, rdx
add rax, rax
add rax, rdx
shl rax, 6
add rax, rcx
mov qword [0x00c595b8], rax
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x10]
test al, al
jne 0x43b0ee
mov ecx, 0x102
call fcn.0044487a
jmp 0x4400c0
mov rax, qword [0x00723a50]
mov qword [0x00c595b8], rax
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x11]
test al, al
je 0x43b10c
mov ecx, 5
call fcn.0044487a
jmp 0x4400c0
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x18]
movzx eax, al
mov dword [0x00c595a4], eax
mov eax, dword [0x00c595a8]
cmp eax, 4
jne 0x43b145
mov eax, dword [0x00c595a4]
cmp eax, 1
jne 0x43b145
mov ecx, 5
call fcn.0044487a
jmp 0x4400c0
mov rdx, qword [0x00c595b0]
mov rax, qword [0x00c595b8]
cmp rdx, rax
jne 0x43b1e6
mov eax, dword [rbp + 0x48]
mov r8d, 0
mov edx, 0
mov ecx, eax
call fcn.00471541
mov dword [rbp - 0x14], eax
or dword [rbp + 0x70], 8
movsd xmm3, qword [rbp + 0x38]
movsd xmm2, qword [rbp + 0x30]
movsd xmm1, qword [rbp + 0x28]
mov eax, dword [rbp + 0x70]
mov dword [rsp + 0x50], eax
movsd xmm0, qword [rbp + 0x68]
movsd qword [rsp + 0x48], xmm0
movsd xmm0, qword [rbp + 0x60]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [rbp + 0x58]
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [rbp + 0x50]
movsd qword [rsp + 0x30], xmm0
mov eax, dword [rbp + 0x48]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x14]
mov dword [rsp + 0x20], eax
movsd xmm0, qword [rbp + 0x20]
call fcn.0043ad74
mov eax, dword [rbp - 0x14]
mov edx, 1
mov ecx, eax
call fcn.004718db
jmp 0x4400c0
nop
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x14]
movzx eax, ax
mov dword [0x00c59688], eax
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x16]
movzx eax, ax
mov dword [0x00c5968c], eax
mov rax, qword [0x00c595b8]
movzx eax, word [rax + 0x14]
movzx eax, ax
mov dword [0x00c59690], eax
mov rax, qword [0x00c595b8]
movzx eax, word [rax + 0x16]
movzx eax, ax
mov dword [0x00c59694], eax
mov eax, dword [rbp + 0x70]
and eax, 2
test eax, eax
je 0x43b27d
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x78]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rbp + 0x20]
addsd xmm0, xmm1
movsd qword [rbp + 0x20], xmm0
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x7c]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rbp + 0x28]
addsd xmm0, xmm1
movsd qword [rbp + 0x28], xmm0
mov eax, dword [rbp + 0x70]
and eax, 0x10
test eax, eax
je 0x43b2a5
movsd xmm0, qword [rbp + 0x30]
addsd xmm0, qword [rbp + 0x20]
movsd qword [rbp + 0x30], xmm0
movsd xmm0, qword [rbp + 0x38]
addsd xmm0, qword [rbp + 0x28]
movsd qword [rbp + 0x38], xmm0
mov eax, dword [rbp + 0x70]
and eax, 0x100
test eax, eax
je 0x43b2ed
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x78]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rbp + 0x50]
addsd xmm0, xmm1
movsd qword [rbp + 0x50], xmm0
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x7c]
cvtss2sd xmm0, xmm0
movsd xmm1, qword [rbp + 0x58]
addsd xmm0, xmm1
movsd qword [rbp + 0x58], xmm0
mov eax, dword [rbp + 0x70]
and eax, 0x400
test eax, eax
je 0x43b317
movsd xmm0, qword [rbp + 0x60]
addsd xmm0, qword [rbp + 0x50]
movsd qword [rbp + 0x60], xmm0
movsd xmm0, qword [rbp + 0x68]
addsd xmm0, qword [rbp + 0x58]
movsd qword [rbp + 0x68], xmm0
mov eax, dword [rbp + 0x70]
and eax, 4
test eax, eax
je 0x43b348
mov rax, qword [0x00c595b8]
cvtsd2ss xmm0, qword [rbp + 0x30]
movss dword [rax + 0x78], xmm0
mov rax, qword [0x00c595b8]
cvtsd2ss xmm0, qword [rbp + 0x38]
movss dword [rax + 0x7c], xmm0
jmp 0x43b42f
mov eax, dword [rbp + 0x70]
and eax, 1
test eax, eax
je 0x43b403
mov eax, dword [rbp + 0x70]
and eax, 0x200
test eax, eax
je 0x43b3af
movsd xmm0, qword [rbp + 0x60]
subsd xmm0, qword [rbp + 0x50]
call fcn.0057ecc0
addsd xmm0, qword [rbp + 0x20]
mov rax, qword [0x00c595b8]
cvtsd2ss xmm0, xmm0
movss dword [rax + 0x78], xmm0
movsd xmm0, qword [rbp + 0x68]
subsd xmm0, qword [rbp + 0x58]
call fcn.0057ecc0
addsd xmm0, qword [rbp + 0x28]
mov rax, qword [0x00c595b8]
cvtsd2ss xmm0, xmm0
movss dword [rax + 0x7c], xmm0
jmp 0x43b42f
mov eax, dword [0x00c59688]
cvtsi2sd xmm0, eax
subsd xmm0, qword [rbp + 0x50]
call fcn.0057ecc0
addsd xmm0, qword [rbp + 0x20]
mov rax, qword [0x00c595b8]
cvtsd2ss xmm0, xmm0
movss dword [rax + 0x78], xmm0
mov eax, dword [0x00c5968c]
cvtsi2sd xmm0, eax
subsd xmm0, qword [rbp + 0x58]
call fcn.0057ecc0
addsd xmm0, qword [rbp + 0x28]
mov rax, qword [0x00c595b8]
cvtsd2ss xmm0, xmm0
movss dword [rax + 0x7c], xmm0
jmp 0x43b42f
mov edx, dword [0x00c59690]
mov rax, qword [0x00c595b8]
cvtsi2ss xmm0, edx
movss dword [rax + 0x78], xmm0
mov edx, dword [0x00c59694]
mov rax, qword [0x00c595b8]
cvtsi2ss xmm0, edx
movss dword [rax + 0x7c], xmm0
mov eax, dword [rbp + 0x70]
and eax, 0x200
test eax, eax
je 0x43b45f
mov rax, qword [0x00c595b0]
cvtsd2ss xmm0, qword [rbp + 0x60]
movss dword [rax + 0x78], xmm0
mov rax, qword [0x00c595b0]
cvtsd2ss xmm0, qword [rbp + 0x68]
movss dword [rax + 0x7c], xmm0
jmp 0x43b48b
mov edx, dword [0x00c59688]
mov rax, qword [0x00c595b0]
cvtsi2ss xmm0, edx
movss dword [rax + 0x78], xmm0
mov edx, dword [0x00c5968c]
mov rax, qword [0x00c595b0]
cvtsi2ss xmm0, edx
movss dword [rax + 0x7c], xmm0
mov eax, dword [rbp + 0x70]
and eax, 1
test eax, eax
je 0x43b71a
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x80]
test al, al
je 0x43b5a5
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x80]
cmp al, 2
jne 0x43b567
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x84]
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, qword [rbp + 0x20]
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x8c]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b8]
mov eax, dword [rax + 0x70]
add eax, edx
mov dword [0x00c59678], eax
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x88]
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, qword [rbp + 0x28]
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x90]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b8]
mov eax, dword [rax + 0x74]
add eax, edx
mov dword [0x00c5967c], eax
jmp 0x43b5c5
cvtsd2ss xmm0, qword [rbp + 0x20]
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b8]
mov eax, dword [rax + 0x70]
add eax, edx
mov dword [0x00c59678], eax
cvtsd2ss xmm0, qword [rbp + 0x28]
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b8]
mov eax, dword [rax + 0x74]
add eax, edx
mov dword [0x00c5967c], eax
jmp 0x43b5c5
cvtsd2ss xmm0, qword [rbp + 0x20]
call fcn.00436f49
mov dword [0x00c59678], eax
cvtsd2ss xmm0, qword [rbp + 0x28]
call fcn.00436f49
mov dword [0x00c5967c], eax
mov eax, dword [rbp + 0x70]
and eax, 4
test eax, eax
je 0x43b704
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x80]
test al, al
je 0x43b6e2
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x80]
cmp al, 2
jne 0x43b6a4
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x84]
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, qword [rbp + 0x30]
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x8c]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b8]
mov eax, dword [rax + 0x70]
add eax, edx
mov dword [0x00c59680], eax
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x88]
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, qword [rbp + 0x38]
mov rax, qword [0x00c595b8]
movss xmm0, dword [rax + 0x90]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b8]
mov eax, dword [rax + 0x74]
add eax, edx
mov dword [0x00c59684], eax
jmp 0x43b742
cvtsd2ss xmm0, qword [rbp + 0x30]
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b8]
mov eax, dword [rax + 0x70]
add eax, edx
mov dword [0x00c59680], eax
cvtsd2ss xmm0, qword [rbp + 0x38]
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b8]
mov eax, dword [rax + 0x74]
add eax, edx
mov dword [0x00c59684], eax
jmp 0x43b742
cvtsd2ss xmm0, qword [rbp + 0x30]
call fcn.00436f49
mov dword [0x00c59680], eax
cvtsd2ss xmm0, qword [rbp + 0x38]
call fcn.00436f49
mov dword [0x00c59684], eax
jmp 0x43b742
mov dword [0x00c59680], 0
mov dword [0x00c59684], 0
jmp 0x43b742
mov dword [0x00c59678], 0
mov dword [0x00c5967c], 0
mov dword [0x00c59680], 0
mov dword [0x00c59684], 0
mov eax, dword [rbp + 0x70]
and eax, 0x40
test eax, eax
je 0x43b9d3
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x80]
test al, al
je 0x43b85c
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x80]
cmp al, 2
jne 0x43b81e
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x84]
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, qword [rbp + 0x50]
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x8c]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x70]
add eax, edx
mov dword [0x00c59668], eax
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x88]
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, qword [rbp + 0x58]
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x90]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x74]
add eax, edx
mov dword [0x00c5966c], eax
jmp 0x43b87c
cvtsd2ss xmm0, qword [rbp + 0x50]
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x70]
add eax, edx
mov dword [0x00c59668], eax
cvtsd2ss xmm0, qword [rbp + 0x58]
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x74]
add eax, edx
mov dword [0x00c5966c], eax
jmp 0x43b87c
cvtsd2ss xmm0, qword [rbp + 0x50]
call fcn.00436f49
mov dword [0x00c59668], eax
cvtsd2ss xmm0, qword [rbp + 0x58]
call fcn.00436f49
mov dword [0x00c5966c], eax
mov eax, dword [rbp + 0x70]
and eax, 0x200
test eax, eax
je 0x43b9bd
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x80]
test al, al
je 0x43b99b
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x80]
cmp al, 2
jne 0x43b95d
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x84]
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, qword [rbp + 0x60]
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x8c]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x70]
add eax, edx
mov dword [0x00c59670], eax
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x88]
cvtss2sd xmm0, xmm0
movapd xmm1, xmm0
mulsd xmm1, qword [rbp + 0x68]
mov rax, qword [0x00c595b0]
movss xmm0, dword [rax + 0x90]
cvtss2sd xmm0, xmm0
addsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x74]
add eax, edx
mov dword [0x00c59674], eax
jmp 0x43b9fb
cvtsd2ss xmm0, qword [rbp + 0x60]
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x70]
add eax, edx
mov dword [0x00c59670], eax
cvtsd2ss xmm0, qword [rbp + 0x68]
call fcn.00436f49
mov edx, eax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x74]
add eax, edx
mov dword [0x00c59674], eax
jmp 0x43b9fb
cvtsd2ss xmm0, qword [rbp + 0x60]
call fcn.00436f49
mov dword [0x00c59670], eax
cvtsd2ss xmm0, qword [rbp + 0x68]
call fcn.00436f49
mov dword [0x00c59674], eax
jmp 0x43b9fb
mov dword [0x00c59670], 0
mov dword [0x00c59674], 0
jmp 0x43b9fb
mov dword [0x00c59668], 0
mov dword [0x00c5966c], 0
mov dword [0x00c59670], 0
mov dword [0x00c59674], 0
mov eax, dword [0x00c596a8]
test eax, eax
je 0x43bdc5
mov eax, dword [rbp + 0x70]
and eax, 4
test eax, eax
je 0x43ba23
mov eax, dword [rbp + 0x70]
and eax, 0x200
test eax, eax
jne 0x43bc02
mov eax, dword [rbp + 0x70]
and eax, 4
test eax, eax
je 0x43baa5
mov eax, dword [rbp + 0x70]
and eax, 0x40
test eax, eax
je 0x43ba82
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x00c59668]
add eax, edx
mov dword [0x00c59670], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x00c5966c]
add eax, edx
mov dword [0x00c59674], eax
jmp 0x43bc03
mov eax, dword [0x00c59688]
sub eax, 1
mov dword [0x00c59670], eax
mov eax, dword [0x00c5968c]
sub eax, 1
mov dword [0x00c59674], eax
jmp 0x43bc03
mov eax, dword [rbp + 0x70]
and eax, 0x200
test eax, eax
je 0x43bb29
mov eax, dword [rbp + 0x70]
and eax, 1
test eax, eax
je 0x43bb06
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x00c59678]
add eax, edx
mov dword [0x00c59680], eax
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x00c5967c]
add eax, edx
mov dword [0x00c59684], eax
jmp 0x43bc03
mov eax, dword [0x00c59690]
sub eax, 1
mov dword [0x00c59680], eax
mov eax, dword [0x00c59694]
sub eax, 1
mov dword [0x00c59684], eax
jmp 0x43bc03
mov eax, dword [rbp + 0x70]
and eax, 0x40
test eax, eax
je 0x43bb42
mov ecx, 5
call fcn.0044487a
jmp 0x4400c0
mov eax, dword [rbp + 0x70]
and eax, 1
test eax, eax
je 0x43bba4
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x14]
movzx eax, ax
sub eax, 1
mov dword [0x00c59670], eax
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x16]
movzx eax, ax
sub eax, 1
mov dword [0x00c59674], eax
mov edx, dword [0x00c59678]
mov eax, dword [0x00c59670]
add eax, edx
mov dword [0x00c59680], eax
mov edx, dword [0x00c5967c]
mov eax, dword [0x00c59674]
add eax, edx
mov dword [0x00c59684], eax
jmp 0x43bc03
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x14]
movzx eax, ax
sub eax, 1
mov dword [0x00c59670], eax
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x16]
movzx eax, ax
sub eax, 1
mov dword [0x00c59674], eax
mov rax, qword [0x00c595b8]
movzx eax, word [rax + 0x14]
movzx eax, ax
sub eax, 1
mov dword [0x00c59680], eax
mov rax, qword [0x00c595b8]
movzx eax, word [rax + 0x16]
movzx eax, ax
sub eax, 1
mov dword [0x00c59684], eax
jmp 0x43bc03
nop
mov rax, qword [0x00712f88]
mov rcx, rax
call fcn.00437454
mov dword [rbp - 0x18], eax
mov eax, dword [rbp - 0x18]
cdqe
mov rcx, qword [0x00712f88]
mov rdx, rax
call fcn.00437a12
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x6c], 0
mov rax, qword [rbp - 0x20]
mov qword [rax + 0x10], 1
mov rax, qword [rbp - 0x20]
mov edx, dword [rbp + 0x40]
mov dword [rax + 0x18], edx
mov eax, dword [0x00c59668]
cvtsi2ss xmm0, eax
mov rax, qword [rbp - 0x20]
movss dword [rax + 0x20], xmm0
mov eax, dword [0x00c5966c]
cvtsi2ss xmm0, eax
mov rax, qword [rbp - 0x20]
movss dword [rax + 0x24], xmm0
mov eax, dword [0x00c59670]
cvtsi2ss xmm0, eax
mov rax, qword [rbp - 0x20]
movss dword [rax + 0x28], xmm0
mov eax, dword [0x00c59674]
cvtsi2ss xmm0, eax
mov rax, qword [rbp - 0x20]
movss dword [rax + 0x2c], xmm0
mov rax, qword [rbp - 0x20]
mov edx, dword [rbp + 0x48]
mov dword [rax + 0x1c], edx
mov eax, dword [0x00c59678]
cvtsi2ss xmm0, eax
mov rax, qword [rbp - 0x20]
movss dword [rax + 0x38], xmm0
mov eax, dword [0x00c5967c]
cvtsi2ss xmm0, eax
mov rax, qword [rbp - 0x20]
movss dword [rax + 0x3c], xmm0
mov eax, dword [0x00c59680]
cvtsi2ss xmm0, eax
mov rax, qword [rbp - 0x20]
movss dword [rax + 0x44], xmm0
mov eax, dword [0x00c59684]
cvtsi2ss xmm0, eax
mov rax, qword [rbp - 0x20]
movss dword [rax + 0x48], xmm0
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x5c], 0
mov eax, dword [rbp + 0x70]
and eax, 0x80
test eax, eax
je 0x43bd12
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x5c], 1
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x68], 1
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x5c]
test al, al
je 0x43bd37
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x68], 0
cmp qword [rbp - 8], 0
je 0x43bd58
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x5c]
test al, al
je 0x43bd58
mov rax, qword [rbp - 0x20]
mov dword [rax + 0x68], 0
mov rax, qword [rbp - 0x20]
mov dword [rax + 8], 0
mov rdx, qword [0x00587128]
mov rax, qword [rbp - 0x20]
mov qword [rax], rdx
mov eax, dword [0x00712f7c]
test eax, eax
je 0x43bda0
mov eax, dword [0x00712f7c]
cdqe
mov rcx, qword [0x00712f88]
mov rdx, rax
call fcn.00437a12
mov qword [rbp - 0x28], rax
mov rax, qword [rbp - 0x28]
mov edx, dword [rbp - 0x18]
mov dword [rax + 8], edx
mov eax, dword [rbp - 0x18]
mov dword [0x00712f7c], eax
mov eax, dword [0x00712f78]
test eax, eax
jne 0x44007d
mov eax, dword [rbp - 0x18]
mov dword [0x00712f78], eax
jmp 0x44007d
mov eax, dword [rbp + 0x70]
and eax, 4
test eax, eax
je 0x43be54
mov eax, dword [rbp + 0x70]
and eax, 0x200
test eax, eax
je 0x43be54
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov ecx, dword [0x00c59670]
mov eax, dword [0x00c59668]
sub ecx, eax
mov eax, ecx
mov ecx, eax
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
cmp edx, eax
jne 0x43c308
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
sub ecx, eax
mov eax, ecx
mov ecx, eax
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
cmp edx, eax
jne 0x43c308
jmp 0x43e0cc
mov eax, dword [rbp + 0x70]
and eax, 4
test eax, eax
je 0x43bf26
mov eax, dword [rbp + 0x70]
and eax, 0x40
test eax, eax
je 0x43beb7
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x00c59668]
add eax, edx
mov dword [0x00c59670], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x00c5966c]
add eax, edx
mov dword [0x00c59674], eax
jmp 0x43e0cc
mov eax, dword [0x00c59688]
sub eax, 1
mov dword [0x00c59670], eax
mov eax, dword [0x00c5968c]
sub eax, 1
mov dword [0x00c59674], eax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
lea edx, [rax + 1]
mov eax, dword [0x00c59688]
cmp edx, eax
jne 0x43c30b
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
lea edx, [rax + 1]
mov eax, dword [0x00c5968c]
cmp edx, eax
jne 0x43c30b
jmp 0x43e0cc
mov eax, dword [rbp + 0x70]
and eax, 0x200
test eax, eax
je 0x43bffa
mov eax, dword [rbp + 0x70]
and eax, 1
test eax, eax
je 0x43bf8b
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x00c59678]
add eax, edx
mov dword [0x00c59680], eax
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [0x00c5967c]
add eax, edx
mov dword [0x00c59684], eax
jmp 0x43e0cc
mov eax, dword [0x00c59690]
sub eax, 1
mov dword [0x00c59680], eax
mov eax, dword [0x00c59694]
sub eax, 1
mov dword [0x00c59684], eax
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
lea edx, [rax + 1]
mov eax, dword [0x00c59690]
cmp edx, eax
jne 0x43c30e
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
sub edx, eax
mov eax, edx
cdq
xor eax, edx
sub eax, edx
lea edx, [rax + 1]
mov eax, dword [0x00c59694]
cmp edx, eax
jne 0x43c30e
jmp 0x43e0cc
mov eax, dword [rbp + 0x70]
and eax, 0x40
test eax, eax
je 0x43c013
mov ecx, 5
call fcn.0044487a
jmp 0x4400c0
mov eax, dword [rbp + 0x70]
and eax, 1
test eax, eax
je 0x43c078
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x14]
movzx eax, ax
sub eax, 1
mov dword [0x00c59670], eax
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x16]
movzx eax, ax
sub eax, 1
mov dword [0x00c59674], eax
mov edx, dword [0x00c59678]
mov eax, dword [0x00c59670]
add eax, edx
mov dword [0x00c59680], eax
mov edx, dword [0x00c5967c]
mov eax, dword [0x00c59674]
add eax, edx
mov dword [0x00c59684], eax
jmp 0x43e247
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x14]
movzx eax, ax
sub eax, 1
mov dword [0x00c59670], eax
mov rax, qword [0x00c595b0]
movzx eax, word [rax + 0x16]
movzx eax, ax
sub eax, 1
mov dword [0x00c59674], eax
mov rax, qword [0x00c595b8]
movzx eax, word [rax + 0x14]
movzx eax, ax
sub eax, 1
mov dword [0x00c59680], eax
mov rax, qword [0x00c595b8]
movzx eax, word [rax + 0x16]
movzx eax, ax
sub eax, 1
mov dword [0x00c59684], eax
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59680]
cmp edx, eax
jne 0x43c0f8
mov edx, dword [0x00c59674]
mov eax, dword [0x00c59684]
cmp edx, eax
je 0x43e5ce
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
mov dword [0x00c59578], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59668]
cvtsi2sd xmm0, eax
movsd qword [0x00c59638], xmm0
mov eax, dword [0x00c5966c]
cvtsi2sd xmm0, eax
movsd qword [0x00c59640], xmm0
mov eax, dword [0x00c59670]
cvtsi2sd xmm0, eax
movsd qword [0x00c59648], xmm0
mov eax, dword [0x00c59674]
cvtsi2sd xmm0, eax
movsd qword [0x00c59650], xmm0
movsd xmm1, qword [0x00c59638]
movsd xmm0, qword [0x00c59648]
comisd xmm0, xmm1
jb 0x43c1bc
movsd xmm0, qword [0x00c59638]
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
movsd xmm1, qword [0x00c59648]
movsd xmm0, qword [0x005b5ca0]
addsd xmm0, xmm1
movsd qword [0x00c59648], xmm0
jmp 0x43c1f4
movsd xmm1, qword [0x00c59638]
movsd xmm0, qword [0x005b5ca0]
addsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
movsd xmm0, qword [0x00c59648]
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd qword [0x00c59648], xmm0
movsd xmm1, qword [0x00c59640]
movsd xmm0, qword [0x00c59650]
comisd xmm0, xmm1
jb 0x43c244
movsd xmm0, qword [0x00c59640]
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd qword [0x00c59640], xmm0
movsd xmm1, qword [0x00c59650]
movsd xmm0, qword [0x005b5ca0]
addsd xmm0, xmm1
movsd qword [0x00c59650], xmm0
jmp 0x43c27c
movsd xmm1, qword [0x00c59640]
movsd xmm0, qword [0x005b5ca0]
addsd xmm0, xmm1
movsd qword [0x00c59640], xmm0
movsd xmm0, qword [0x00c59650]
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd qword [0x00c59650], xmm0
mov eax, dword [0x00c59578]
test eax, eax
je 0x43c2b2
movsd xmm0, qword [0x00c59648]
movsd xmm1, qword [0x00c59638]
subsd xmm0, xmm1
mov eax, dword [0x00c59578]
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
movsd qword [0x00c59618], xmm0
jmp 0x43c2be
pxor xmm0, xmm0
movsd qword [0x00c59618], xmm0
mov eax, dword [0x00c5957c]
test eax, eax
je 0x43c2f7
movsd xmm0, qword [0x00c59650]
movsd xmm1, qword [0x00c59640]
subsd xmm0, xmm1
mov eax, dword [0x00c5957c]
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
movsd qword [0x00c59620], xmm0
jmp 0x43cc1e
pxor xmm0, xmm0
movsd qword [0x00c59620], xmm0
jmp 0x43cc1e
nop
jmp 0x43c30f
nop
jmp 0x43c30f
nop
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
cmp edx, eax
jge 0x43c339
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
cmp edx, eax
jle 0x43c339
mov dword [0x00c59610], 1
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
cmp edx, eax
jge 0x43c363
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
cmp edx, eax
jle 0x43c363
mov dword [0x00c59610], 1
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
cmp edx, eax
jge 0x43c397
mov eax, dword [0x00c59678]
mov dword [0x00c59588], eax
mov eax, dword [0x00c59680]
mov dword [0x00c59678], eax
mov eax, dword [0x00c59588]
mov dword [0x00c59680], eax
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
cmp edx, eax
jge 0x43c3cb
mov eax, dword [0x00c59668]
mov dword [0x00c59588], eax
mov eax, dword [0x00c59670]
mov dword [0x00c59668], eax
mov eax, dword [0x00c59588]
mov dword [0x00c59670], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
cmp edx, eax
jge 0x43c3f5
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
cmp edx, eax
jle 0x43c3f5
mov dword [0x00c5960c], 1
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
cmp edx, eax
jge 0x43c41f
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
cmp edx, eax
jle 0x43c41f
mov dword [0x00c5960c], 1
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
cmp edx, eax
jge 0x43c453
mov eax, dword [0x00c5967c]
mov dword [0x00c5958c], eax
mov eax, dword [0x00c59684]
mov dword [0x00c5967c], eax
mov eax, dword [0x00c5958c]
mov dword [0x00c59684], eax
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
cmp edx, eax
jge 0x43c487
mov eax, dword [0x00c5966c]
mov dword [0x00c5958c], eax
mov eax, dword [0x00c59674]
mov dword [0x00c5966c], eax
mov eax, dword [0x00c5958c]
mov dword [0x00c59674], eax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
mov dword [0x00c59578], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59668]
cvtsi2sd xmm0, eax
movsd qword [0x00c59638], xmm0
mov eax, dword [0x00c5966c]
cvtsi2sd xmm0, eax
movsd qword [0x00c59640], xmm0
mov eax, dword [0x00c59670]
cvtsi2sd xmm0, eax
movsd qword [0x00c59648], xmm0
mov eax, dword [0x00c59674]
cvtsi2sd xmm0, eax
movsd qword [0x00c59650], xmm0
movsd xmm1, qword [0x00c59638]
movsd xmm0, qword [0x00c59648]
comisd xmm0, xmm1
jb 0x43c54b
movsd xmm0, qword [0x00c59638]
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
movsd xmm1, qword [0x00c59648]
movsd xmm0, qword [0x005b5ca0]
addsd xmm0, xmm1
movsd qword [0x00c59648], xmm0
jmp 0x43c583
movsd xmm1, qword [0x00c59638]
movsd xmm0, qword [0x005b5ca0]
addsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
movsd xmm0, qword [0x00c59648]
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd qword [0x00c59648], xmm0
movsd xmm1, qword [0x00c59640]
movsd xmm0, qword [0x00c59650]
comisd xmm0, xmm1
jb 0x43c5d3
movsd xmm0, qword [0x00c59640]
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd qword [0x00c59640], xmm0
movsd xmm1, qword [0x00c59650]
movsd xmm0, qword [0x005b5ca0]
addsd xmm0, xmm1
movsd qword [0x00c59650], xmm0
jmp 0x43c60b
movsd xmm1, qword [0x00c59640]
movsd xmm0, qword [0x005b5ca0]
addsd xmm0, xmm1
movsd qword [0x00c59640], xmm0
movsd xmm0, qword [0x00c59650]
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd qword [0x00c59650], xmm0
mov eax, dword [0x00c59578]
test eax, eax
je 0x43c641
movsd xmm0, qword [0x00c59648]
movsd xmm1, qword [0x00c59638]
subsd xmm0, xmm1
mov eax, dword [0x00c59578]
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
movsd qword [0x00c59618], xmm0
jmp 0x43c64d
pxor xmm0, xmm0
movsd qword [0x00c59618], xmm0
mov eax, dword [0x00c5957c]
test eax, eax
je 0x43c683
movsd xmm0, qword [0x00c59650]
movsd xmm1, qword [0x00c59640]
subsd xmm0, xmm1
mov eax, dword [0x00c5957c]
cvtsi2sd xmm1, eax
divsd xmm0, xmm1
movsd qword [0x00c59620], xmm0
jmp 0x43c68f
pxor xmm0, xmm0
movsd qword [0x00c59620], xmm0
mov eax, dword [0x00c59678]
test eax, eax
jns 0x43c703
mov eax, dword [0x00c59610]
test eax, eax
je 0x43c6cf
mov eax, dword [0x00c59678]
cvtsi2sd xmm1, eax
movsd xmm0, qword [0x00c59618]
mulsd xmm1, xmm0
movsd xmm0, qword [0x00c59648]
addsd xmm0, xmm1
movsd qword [0x00c59648], xmm0
jmp 0x43c6f9
movsd xmm0, qword [0x00c59638]
mov eax, dword [0x00c59678]
cvtsi2sd xmm2, eax
movsd xmm1, qword [0x00c59618]
mulsd xmm1, xmm2
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
mov dword [0x00c59678], 0
mov eax, dword [0x00c5967c]
test eax, eax
jns 0x43c777
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43c743
mov eax, dword [0x00c5967c]
cvtsi2sd xmm1, eax
movsd xmm0, qword [0x00c59620]
mulsd xmm1, xmm0
movsd xmm0, qword [0x00c59650]
addsd xmm0, xmm1
movsd qword [0x00c59650], xmm0
jmp 0x43c76d
movsd xmm0, qword [0x00c59640]
mov eax, dword [0x00c5967c]
cvtsi2sd xmm2, eax
movsd xmm1, qword [0x00c59620]
mulsd xmm1, xmm2
subsd xmm0, xmm1
movsd qword [0x00c59640], xmm0
mov dword [0x00c5967c], 0
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59690]
cmp edx, eax
jl 0x43c814
mov eax, dword [0x00c59610]
test eax, eax
je 0x43c7ce
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
add eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [0x00c59618]
mulsd xmm1, xmm0
movsd xmm0, qword [0x00c59638]
addsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
jmp 0x43c805
movsd xmm0, qword [0x00c59648]
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
add eax, 1
cvtsi2sd xmm2, eax
movsd xmm1, qword [0x00c59618]
mulsd xmm1, xmm2
subsd xmm0, xmm1
movsd qword [0x00c59648], xmm0
mov eax, dword [0x00c59690]
sub eax, 1
mov dword [0x00c59680], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c59694]
cmp edx, eax
jl 0x43c8b1
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43c86b
mov edx, dword [0x00c59684]
mov eax, dword [0x00c59694]
sub edx, eax
mov eax, edx
add eax, 1
cvtsi2sd xmm1, eax
movsd xmm0, qword [0x00c59620]
mulsd xmm1, xmm0
movsd xmm0, qword [0x00c59640]
addsd xmm0, xmm1
movsd qword [0x00c59640], xmm0
jmp 0x43c8a2
movsd xmm0, qword [0x00c59650]
mov edx, dword [0x00c59684]
mov eax, dword [0x00c59694]
sub edx, eax
mov eax, edx
add eax, 1
cvtsi2sd xmm2, eax
movsd xmm1, qword [0x00c59620]
mulsd xmm1, xmm2
subsd xmm0, xmm1
movsd qword [0x00c59650], xmm0
mov eax, dword [0x00c59694]
sub eax, 1
mov dword [0x00c59684], eax
mov eax, dword [0x00c59578]
test eax, eax
je 0x43ca53
movsd xmm1, qword [0x00c59638]
movsd xmm0, qword [0x005b5ca8]
comisd xmm0, xmm1
jbe 0x43c97f
movsd xmm0, qword [0x00c59638]
movq xmm1, qword [0x005b5cb0]
xorpd xmm0, xmm1
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd xmm1, qword [0x00c59618]
divsd xmm0, xmm1
movapd xmm1, xmm0
movsd xmm0, qword [0x005b5c78]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x00c59588], eax
mov eax, dword [0x00c59610]
test eax, eax
je 0x43c941
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59588]
sub edx, eax
mov eax, edx
mov dword [0x00c59680], eax
jmp 0x43c955
mov edx, dword [0x00c59678]
mov eax, dword [0x00c59588]
add eax, edx
mov dword [0x00c59678], eax
mov eax, dword [0x00c59588]
cvtsi2sd xmm1, eax
movsd xmm0, qword [0x00c59618]
mulsd xmm1, xmm0
movsd xmm0, qword [0x00c59638]
addsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
mov eax, dword [0x00c59688]
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x005b5cc0]
subsd xmm0, xmm1
movapd xmm1, xmm0
movsd xmm0, qword [0x00c59648]
comisd xmm0, xmm1
jbe 0x43ca53
movsd xmm0, qword [0x00c59648]
mov eax, dword [0x00c59688]
cvtsi2sd xmm1, eax
movsd xmm2, qword [0x005b5cc8]
subsd xmm1, xmm2
subsd xmm0, xmm1
movsd xmm1, qword [0x00c59618]
divsd xmm0, xmm1
movapd xmm1, xmm0
movsd xmm0, qword [0x005b5c78]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x00c59588], eax
mov eax, dword [0x00c59610]
test eax, eax
je 0x43ca13
mov edx, dword [0x00c59678]
mov eax, dword [0x00c59588]
add eax, edx
mov dword [0x00c59678], eax
jmp 0x43ca29
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59588]
sub edx, eax
mov eax, edx
mov dword [0x00c59680], eax
movsd xmm0, qword [0x00c59648]
mov eax, dword [0x00c59588]
cvtsi2sd xmm2, eax
movsd xmm1, qword [0x00c59618]
mulsd xmm1, xmm2
subsd xmm0, xmm1
movsd qword [0x00c59648], xmm0
mov eax, dword [0x00c5957c]
test eax, eax
je 0x43cbf5
movsd xmm1, qword [0x00c59640]
movsd xmm0, qword [0x005b5ca8]
comisd xmm0, xmm1
jbe 0x43cb21
movsd xmm0, qword [0x00c59640]
movq xmm1, qword [0x005b5cb0]
xorpd xmm0, xmm1
movsd xmm1, qword [0x005b5ca0]
subsd xmm0, xmm1
movsd xmm1, qword [0x00c59620]
divsd xmm0, xmm1
movapd xmm1, xmm0
movsd xmm0, qword [0x005b5c78]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x00c5958c], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43cae3
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5958c]
sub edx, eax
mov eax, edx
mov dword [0x00c59684], eax
jmp 0x43caf7
mov edx, dword [0x00c5967c]
mov eax, dword [0x00c5958c]
add eax, edx
mov dword [0x00c5967c], eax
mov eax, dword [0x00c5958c]
cvtsi2sd xmm1, eax
movsd xmm0, qword [0x00c59620]
mulsd xmm1, xmm0
movsd xmm0, qword [0x00c59640]
addsd xmm0, xmm1
movsd qword [0x00c59640], xmm0
mov eax, dword [0x00c5968c]
cvtsi2sd xmm0, eax
movsd xmm1, qword [0x005b5cc0]
subsd xmm0, xmm1
movapd xmm1, xmm0
movsd xmm0, qword [0x00c59650]
comisd xmm0, xmm1
jbe 0x43cbf5
movsd xmm0, qword [0x00c59650]
mov eax, dword [0x00c5968c]
cvtsi2sd xmm1, eax
movsd xmm2, qword [0x005b5cc8]
subsd xmm1, xmm2
subsd xmm0, xmm1
movsd xmm1, qword [0x00c59620]
divsd xmm0, xmm1
movapd xmm1, xmm0
movsd xmm0, qword [0x005b5c78]
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x00c5958c], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43cbb5
mov edx, dword [0x00c5967c]
mov eax, dword [0x00c5958c]
add eax, edx
mov dword [0x00c5967c], eax
jmp 0x43cbcb
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5958c]
sub edx, eax
mov eax, edx
mov dword [0x00c59684], eax
movsd xmm0, qword [0x00c59650]
mov eax, dword [0x00c5958c]
cvtsi2sd xmm2, eax
movsd xmm1, qword [0x00c59620]
mulsd xmm1, xmm2
subsd xmm0, xmm1
movsd qword [0x00c59650], xmm0
mov edx, dword [0x00c59678]
mov eax, dword [0x00c59680]
cmp edx, eax
jg 0x440080
mov edx, dword [0x00c5967c]
mov eax, dword [0x00c59684]
cmp edx, eax
jg 0x440083
nop
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c595a8]
cmp eax, 4
jne 0x43cc82
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x5c]
test al, al
jne 0x43d199
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x5c]
test al, al
je 0x43ccbd
jmp 0x43d199
mov eax, dword [0x00c595a4]
cmp eax, 1
jne 0x43cca5
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
cmp eax, 0xffffffff
jne 0x43d77c
jmp 0x43d49e
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
cmp eax, 0xffffffff
jne 0x43dd97
jmp 0x43da75
nop
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43cd74
mov eax, dword [0x00c59610]
test eax, eax
je 0x43cd23
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43ce0e
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59690]
neg eax
mov edx, eax
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43ce0e
mov eax, dword [0x00c59610]
test eax, eax
je 0x43cdc6
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
add eax, edx
mov dword [0x00c59584], eax
jmp 0x43ce0e
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c59610]
test eax, eax
je 0x43ce24
mov dword [0x00c595f8], 0xffffffff
jmp 0x43ce2e
mov dword [0x00c595f8], 1
mov eax, dword [0x00c5957c]
mov dword [0x00c59594], eax
movsd xmm0, qword [0x00c59640]
movsd qword [0x00c59630], xmm0
movsd xmm0, qword [0x00c59638]
movsd xmm1, qword [0x00c59618]
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595b0]
mov rbx, qword [rax + 0x40]
mov rax, qword [0x00c59630]
movq xmm0, rax
call fcn.00436f65
mov edx, eax
mov eax, dword [0x00c59688]
imul eax, edx
cdqe
shl rax, 2
add rax, rbx
mov qword [0x00c596a0], rax
movsd xmm0, qword [0x00c59638]
movsd qword [0x00c59628], xmm0
mov rbx, qword [0x00c596a0]
movsd xmm1, qword [0x00c59628]
movsd xmm0, qword [0x00c59618]
addsd xmm0, xmm1
movsd qword [0x00c59628], xmm0
mov rax, qword [0x00c59628]
movq xmm0, rax
call fcn.00436f65
cdqe
shl rax, 2
add rax, rbx
mov eax, dword [rax]
mov dword [0x00c595d0], eax
mov eax, dword [0x00c595d0]
and eax, 0xff000000
cmp eax, 0x7f000000
je 0x43cfa2
cmp eax, 0x7f000000
ja 0x43cf28
test eax, eax
je 0x43d0f8
jmp 0x43cff6
cmp eax, 0x80000000
je 0x43cf4e
cmp eax, 0xff000000
jne 0x43cff6
mov rax, qword [0x00c595c8]
mov edx, dword [0x00c595d0]
mov dword [rax], edx
jmp 0x43d0f9
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
and eax, 0xfefefe
mov edx, eax
mov eax, dword [0x00c595d0]
and eax, 0xfefefe
add eax, edx
shr eax, 1
mov edx, eax
mov rcx, qword [0x00723a38]
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
shr eax, 0x18
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov ecx, eax
mov rax, qword [0x00c595c8]
add edx, ecx
mov dword [rax], edx
jmp 0x43d0f9
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
and eax, 0xfefefe
mov edx, eax
mov eax, dword [0x00c595d0]
and eax, 0xfefefe
add eax, edx
shr eax, 1
mov edx, eax
mov rcx, qword [0x00723a30]
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
shr eax, 0x18
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov ecx, eax
mov rax, qword [0x00c595c8]
add edx, ecx
mov dword [rax], edx
jmp 0x43d0f9
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
mov dword [0x00c595d8], eax
mov rax, qword [0x00723a20]
mov edx, dword [0x00c595d0]
shr edx, 0x18
shl edx, 0x10
mov edx, edx
add rax, rdx
mov qword [0x00c595f0], rax
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
shl eax, 8
movzx edx, ax
mov eax, dword [0x00c595d8]
movzx eax, al
add eax, edx
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx edx, al
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
and eax, 0xff00
mov r8d, eax
mov eax, dword [0x00c595d8]
shr eax, 8
movzx eax, al
or eax, r8d
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add edx, eax
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
shr eax, 8
and eax, 0xff00
mov r8d, eax
mov eax, dword [0x00c595d8]
shr eax, 0x10
movzx eax, al
or eax, r8d
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
add edx, eax
mov rax, qword [0x00723a28]
mov ecx, dword [0x00c595d0]
shr ecx, 0x18
mov r8d, ecx
mov ecx, dword [0x00c595d8]
shr ecx, 0x10
and ecx, 0xff00
add ecx, r8d
mov ecx, ecx
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
add edx, eax
mov rax, qword [0x00c595c8]
mov dword [rax], edx
jmp 0x43d0f9
nop
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c595f8]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43d139
jmp 0x43ceb9
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
movsd xmm1, qword [0x00c59630]
movsd xmm0, qword [0x00c59620]
addsd xmm0, xmm1
movsd qword [0x00c59630], xmm0
mov eax, dword [0x00c59594]
sub eax, 1
mov dword [0x00c59594], eax
mov eax, dword [0x00c59594]
test eax, eax
setne al
test al, al
je 0x440086
jmp 0x43ce66
nop
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43d250
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d1ff
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43d2ea
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59690]
neg eax
mov edx, eax
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43d2ea
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d2a2
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
add eax, edx
mov dword [0x00c59584], eax
jmp 0x43d2ea
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d300
mov dword [0x00c595f8], 0xffffffff
jmp 0x43d30a
mov dword [0x00c595f8], 1
mov eax, dword [0x00c5957c]
mov dword [0x00c59594], eax
movsd xmm0, qword [0x00c59640]
movsd qword [0x00c59630], xmm0
movsd xmm0, qword [0x00c59638]
movsd xmm1, qword [0x00c59618]
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c595f8]
cdqe
shl rax, 2
neg rax
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595b0]
mov rbx, qword [rax + 0x40]
mov rax, qword [0x00c59630]
movq xmm0, rax
call fcn.00436f65
mov edx, eax
mov eax, dword [0x00c59688]
imul eax, edx
cdqe
shl rax, 2
add rax, rbx
mov qword [0x00c596a0], rax
movsd xmm0, qword [0x00c59638]
movsd qword [0x00c59628], xmm0
mov rbx, qword [0x00c596a0]
movsd xmm1, qword [0x00c59628]
movsd xmm0, qword [0x00c59618]
addsd xmm0, xmm1
movsd qword [0x00c59628], xmm0
mov rax, qword [0x00c59628]
movq xmm0, rax
call fcn.00436f65
cdqe
shl rax, 2
lea rdx, [rbx + rax]
mov rcx, qword [0x00c595c8]
mov eax, dword [0x00c595f8]
cdqe
shl rax, 2
add rax, rcx
mov qword [0x00c595c8], rax
mov rax, qword [0x00c595c8]
mov edx, dword [rdx]
mov dword [rax], edx
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43d43e
jmp 0x43d3b5
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
movsd xmm1, qword [0x00c59630]
movsd xmm0, qword [0x00c59620]
addsd xmm0, xmm1
movsd qword [0x00c59630], xmm0
mov eax, dword [0x00c59594]
sub eax, 1
mov dword [0x00c59594], eax
mov eax, dword [0x00c59594]
test eax, eax
setne al
test al, al
je 0x440089
jmp 0x43d362
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43d54c
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d4ff
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43d5de
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov eax, dword [0x00c59690]
neg eax
mov edx, eax
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43d5de
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d59a
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
add eax, edx
mov dword [0x00c59584], eax
jmp 0x43d5de
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d5f4
mov dword [0x00c595f8], 0xffffffff
jmp 0x43d5fe
mov dword [0x00c595f8], 1
mov eax, dword [0x00c5957c]
mov dword [0x00c59594], eax
movsd xmm0, qword [0x00c59640]
movsd qword [0x00c59630], xmm0
movsd xmm0, qword [0x00c59638]
movsd xmm1, qword [0x00c59618]
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
mov rdx, qword [0x00c595e8]
mov eax, dword [0x00c595f8]
cdqe
neg rax
add rax, rdx
mov qword [0x00c595e8], rax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595b0]
mov rbx, qword [rax + 0x40]
mov rax, qword [0x00c59630]
movq xmm0, rax
call fcn.00436f65
mov edx, eax
mov eax, dword [0x00c59688]
imul eax, edx
cdqe
add rax, rbx
mov qword [0x00c595f0], rax
movsd xmm0, qword [0x00c59638]
movsd qword [0x00c59628], xmm0
mov rbx, qword [0x00c595f0]
movsd xmm1, qword [0x00c59628]
movsd xmm0, qword [0x00c59618]
addsd xmm0, xmm1
movsd qword [0x00c59628], xmm0
mov rax, qword [0x00c59628]
movq xmm0, rax
call fcn.00436f65
cdqe
add rax, rbx
mov rcx, qword [0x00c595e8]
mov edx, dword [0x00c595f8]
movsxd rdx, edx
add rdx, rcx
mov qword [0x00c595e8], rdx
mov rdx, qword [0x00c595e8]
movzx eax, byte [rax]
mov byte [rdx], al
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43d720
jmp 0x43d6a1
mov rdx, qword [0x00c595e8]
mov eax, dword [0x00c59584]
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
movsd xmm1, qword [0x00c59630]
movsd xmm0, qword [0x00c59620]
addsd xmm0, xmm1
movsd qword [0x00c59630], xmm0
mov eax, dword [0x00c59594]
sub eax, 1
mov dword [0x00c59594], eax
mov eax, dword [0x00c59594]
test eax, eax
setne al
test al, al
je 0x44008c
jmp 0x43d652
nop
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
mov dword [0x00c595d4], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43d83b
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d7ee
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43d8cd
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov eax, dword [0x00c59690]
neg eax
mov edx, eax
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43d8cd
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d889
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
add eax, edx
mov dword [0x00c59584], eax
jmp 0x43d8cd
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c59610]
test eax, eax
je 0x43d8e3
mov dword [0x00c595f8], 0xffffffff
jmp 0x43d8ed
mov dword [0x00c595f8], 1
mov eax, dword [0x00c5957c]
mov dword [0x00c59594], eax
movsd xmm0, qword [0x00c59640]
movsd qword [0x00c59630], xmm0
movsd xmm0, qword [0x00c59638]
movsd xmm1, qword [0x00c59618]
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595b0]
mov rbx, qword [rax + 0x40]
mov rax, qword [0x00c59630]
movq xmm0, rax
call fcn.00436f65
mov edx, eax
mov eax, dword [0x00c59688]
imul eax, edx
cdqe
add rax, rbx
mov qword [0x00c595f0], rax
movsd xmm0, qword [0x00c59638]
movsd qword [0x00c59628], xmm0
mov rbx, qword [0x00c595f0]
movsd xmm1, qword [0x00c59628]
movsd xmm0, qword [0x00c59618]
addsd xmm0, xmm1
movsd qword [0x00c59628], xmm0
mov rax, qword [0x00c59628]
movq xmm0, rax
call fcn.00436f65
cdqe
add rax, rbx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c595d0], eax
mov edx, dword [0x00c595d0]
mov eax, dword [0x00c595d4]
cmp edx, eax
setne al
test al, al
je 0x43d9dd
mov edx, dword [0x00c595d0]
mov rax, qword [0x00c595e8]
mov byte [rax], dl
mov rdx, qword [0x00c595e8]
mov eax, dword [0x00c595f8]
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43da19
jmp 0x43d974
mov rdx, qword [0x00c595e8]
mov eax, dword [0x00c59584]
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
movsd xmm1, qword [0x00c59630]
movsd xmm0, qword [0x00c59620]
addsd xmm0, xmm1
movsd qword [0x00c59630], xmm0
mov eax, dword [0x00c59594]
sub eax, 1
mov dword [0x00c59594], eax
mov eax, dword [0x00c59594]
test eax, eax
setne al
test al, al
je 0x44008f
jmp 0x43d925
mov rax, qword [0x00c595b0]
mov rax, qword [rax + 0x50]
mov qword [0x00c59698], rax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43db3d
mov eax, dword [0x00c59610]
test eax, eax
je 0x43daec
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43dbd7
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59690]
neg eax
mov edx, eax
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43dbd7
mov eax, dword [0x00c59610]
test eax, eax
je 0x43db8f
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
add eax, edx
mov dword [0x00c59584], eax
jmp 0x43dbd7
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c59610]
test eax, eax
je 0x43dbed
mov dword [0x00c595f8], 0xffffffff
jmp 0x43dbf7
mov dword [0x00c595f8], 1
mov eax, dword [0x00c5957c]
mov dword [0x00c59594], eax
movsd xmm0, qword [0x00c59640]
movsd qword [0x00c59630], xmm0
movsd xmm0, qword [0x00c59638]
movsd xmm1, qword [0x00c59618]
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c595f8]
cdqe
shl rax, 2
neg rax
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595b0]
mov rbx, qword [rax + 0x40]
mov rax, qword [0x00c59630]
movq xmm0, rax
call fcn.00436f65
mov edx, eax
mov eax, dword [0x00c59688]
imul eax, edx
cdqe
add rax, rbx
mov qword [0x00c595f0], rax
movsd xmm0, qword [0x00c59638]
movsd qword [0x00c59628], xmm0
mov rbx, qword [0x00c59698]
mov rsi, qword [0x00c595f0]
movsd xmm1, qword [0x00c59628]
movsd xmm0, qword [0x00c59618]
addsd xmm0, xmm1
movsd qword [0x00c59628], xmm0
mov rax, qword [0x00c59628]
movq xmm0, rax
call fcn.00436f65
cdqe
add rax, rsi
movzx eax, byte [rax]
movzx eax, al
shl rax, 2
lea rdx, [rbx + rax]
mov rcx, qword [0x00c595c8]
mov eax, dword [0x00c595f8]
cdqe
shl rax, 2
add rax, rcx
mov qword [0x00c595c8], rax
mov rax, qword [0x00c595c8]
mov edx, dword [rdx]
mov dword [rax], edx
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43dd37
jmp 0x43dc9e
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
movsd xmm1, qword [0x00c59630]
movsd xmm0, qword [0x00c59620]
addsd xmm0, xmm1
movsd qword [0x00c59630], xmm0
mov eax, dword [0x00c59594]
sub eax, 1
mov dword [0x00c59594], eax
mov eax, dword [0x00c59594]
test eax, eax
setne al
test al, al
je 0x440092
jmp 0x43dc4f
nop
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
mov dword [0x00c595d4], eax
mov rax, qword [0x00c595b0]
mov rax, qword [rax + 0x50]
mov qword [0x00c59698], rax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43de70
mov eax, dword [0x00c59610]
test eax, eax
je 0x43de1f
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43df0a
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59690]
neg eax
mov edx, eax
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
jmp 0x43df0a
mov eax, dword [0x00c59610]
test eax, eax
je 0x43dec2
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59680]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
add eax, edx
mov dword [0x00c59584], eax
jmp 0x43df0a
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c59610]
test eax, eax
je 0x43df20
mov dword [0x00c595f8], 0xffffffff
jmp 0x43df2a
mov dword [0x00c595f8], 1
mov eax, dword [0x00c5957c]
mov dword [0x00c59594], eax
movsd xmm0, qword [0x00c59640]
movsd qword [0x00c59630], xmm0
movsd xmm0, qword [0x00c59638]
movsd xmm1, qword [0x00c59618]
subsd xmm0, xmm1
movsd qword [0x00c59638], xmm0
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595b0]
mov rbx, qword [rax + 0x40]
mov rax, qword [0x00c59630]
movq xmm0, rax
call fcn.00436f65
mov edx, eax
mov eax, dword [0x00c59688]
imul eax, edx
cdqe
add rax, rbx
mov qword [0x00c595f0], rax
movsd xmm0, qword [0x00c59638]
movsd qword [0x00c59628], xmm0
mov rbx, qword [0x00c595f0]
movsd xmm1, qword [0x00c59628]
movsd xmm0, qword [0x00c59618]
addsd xmm0, xmm1
movsd qword [0x00c59628], xmm0
mov rax, qword [0x00c59628]
movq xmm0, rax
call fcn.00436f65
cdqe
add rax, rbx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c595d0], eax
mov edx, dword [0x00c595d0]
mov eax, dword [0x00c595d4]
cmp edx, eax
setne al
test al, al
je 0x43e02c
mov rdx, qword [0x00c59698]
mov eax, dword [0x00c595d0]
mov eax, eax
shl rax, 2
add rdx, rax
mov rax, qword [0x00c595c8]
mov edx, dword [rdx]
mov dword [rax], edx
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c595f8]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43e06c
jmp 0x43dfb1
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
movsd xmm1, qword [0x00c59630]
movsd xmm0, qword [0x00c59620]
addsd xmm0, xmm1
movsd qword [0x00c59630], xmm0
mov eax, dword [0x00c59594]
sub eax, 1
mov dword [0x00c59594], eax
mov eax, dword [0x00c59594]
test eax, eax
setne al
test al, al
je 0x440095
jmp 0x43df62
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
cmp edx, eax
jge 0x43e0f6
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
cmp edx, eax
jle 0x43e0f6
mov dword [0x00c59610], 1
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
cmp edx, eax
jge 0x43e120
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
cmp edx, eax
jle 0x43e120
mov dword [0x00c59610], 1
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
cmp edx, eax
jge 0x43e154
mov eax, dword [0x00c59678]
mov dword [0x00c59588], eax
mov eax, dword [0x00c59680]
mov dword [0x00c59678], eax
mov eax, dword [0x00c59588]
mov dword [0x00c59680], eax
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59668]
cmp edx, eax
jge 0x43e188
mov eax, dword [0x00c59668]
mov dword [0x00c59588], eax
mov eax, dword [0x00c59670]
mov dword [0x00c59668], eax
mov eax, dword [0x00c59588]
mov dword [0x00c59670], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
cmp edx, eax
jge 0x43e1b2
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
cmp edx, eax
jle 0x43e1b2
mov dword [0x00c5960c], 1
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
cmp edx, eax
jge 0x43e1dc
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
cmp edx, eax
jle 0x43e1dc
mov dword [0x00c5960c], 1
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
cmp edx, eax
jge 0x43e210
mov eax, dword [0x00c5967c]
mov dword [0x00c5958c], eax
mov eax, dword [0x00c59684]
mov dword [0x00c5967c], eax
mov eax, dword [0x00c5958c]
mov dword [0x00c59684], eax
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5966c]
cmp edx, eax
jge 0x43e246
mov eax, dword [0x00c5966c]
mov dword [0x00c5958c], eax
mov eax, dword [0x00c59674]
mov dword [0x00c5966c], eax
mov eax, dword [0x00c5958c]
mov dword [0x00c59674], eax
jmp 0x43e247
nop
mov eax, dword [0x00c59678]
test eax, eax
jns 0x43e291
mov eax, dword [0x00c59610]
test eax, eax
je 0x43e271
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59678]
add eax, edx
mov dword [0x00c59670], eax
jmp 0x43e287
mov edx, dword [0x00c59668]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
mov dword [0x00c59668], eax
mov dword [0x00c59678], 0
mov eax, dword [0x00c5967c]
test eax, eax
jns 0x43e2db
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43e2bb
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5967c]
add eax, edx
mov dword [0x00c59674], eax
jmp 0x43e2d1
mov edx, dword [0x00c5966c]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
mov dword [0x00c5966c], eax
mov dword [0x00c5967c], 0
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59690]
cmp edx, eax
jl 0x43e34a
mov eax, dword [0x00c59610]
test eax, eax
je 0x43e318
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59690]
sub edx, eax
mov eax, edx
lea edx, [rax + 1]
mov eax, dword [0x00c59668]
add eax, edx
mov dword [0x00c59668], eax
jmp 0x43e33b
mov edx, dword [0x00c59670]
mov ecx, dword [0x00c59680]
mov eax, dword [0x00c59690]
sub ecx, eax
mov eax, ecx
add eax, 1
sub edx, eax
mov eax, edx
mov dword [0x00c59670], eax
mov eax, dword [0x00c59690]
sub eax, 1
mov dword [0x00c59680], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c59694]
cmp edx, eax
jl 0x43e3b9
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43e387
mov edx, dword [0x00c59684]
mov eax, dword [0x00c59694]
sub edx, eax
mov eax, edx
lea edx, [rax + 1]
mov eax, dword [0x00c5966c]
add eax, edx
mov dword [0x00c5966c], eax
jmp 0x43e3aa
mov edx, dword [0x00c59674]
mov ecx, dword [0x00c59684]
mov eax, dword [0x00c59694]
sub ecx, eax
mov eax, ecx
add eax, 1
sub edx, eax
mov eax, edx
mov dword [0x00c59674], eax
mov eax, dword [0x00c59694]
sub eax, 1
mov dword [0x00c59684], eax
mov eax, dword [0x00c59668]
test eax, eax
jns 0x43e403
mov eax, dword [0x00c59610]
test eax, eax
je 0x43e3e3
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59668]
add eax, edx
mov dword [0x00c59680], eax
jmp 0x43e3f9
mov edx, dword [0x00c59678]
mov eax, dword [0x00c59668]
sub edx, eax
mov eax, edx
mov dword [0x00c59678], eax
mov dword [0x00c59668], 0
mov eax, dword [0x00c5966c]
test eax, eax
jns 0x43e44d
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43e42d
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5966c]
add eax, edx
mov dword [0x00c59684], eax
jmp 0x43e443
mov edx, dword [0x00c5967c]
mov eax, dword [0x00c5966c]
sub edx, eax
mov eax, edx
mov dword [0x00c5967c], eax
mov dword [0x00c5966c], 0
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59688]
cmp edx, eax
jl 0x43e4bc
mov eax, dword [0x00c59610]
test eax, eax
je 0x43e48a
mov edx, dword [0x00c59670]
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
lea edx, [rax + 1]
mov eax, dword [0x00c59678]
add eax, edx
mov dword [0x00c59678], eax
jmp 0x43e4ad
mov edx, dword [0x00c59680]
mov ecx, dword [0x00c59670]
mov eax, dword [0x00c59688]
sub ecx, eax
mov eax, ecx
add eax, 1
sub edx, eax
mov eax, edx
mov dword [0x00c59680], eax
mov eax, dword [0x00c59688]
sub eax, 1
mov dword [0x00c59670], eax
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5968c]
cmp edx, eax
jl 0x43e52b
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43e4f9
mov edx, dword [0x00c59674]
mov eax, dword [0x00c5968c]
sub edx, eax
mov eax, edx
lea edx, [rax + 1]
mov eax, dword [0x00c5967c]
add eax, edx
mov dword [0x00c5967c], eax
jmp 0x43e51c
mov edx, dword [0x00c59684]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c5968c]
sub ecx, eax
mov eax, ecx
add eax, 1
sub edx, eax
mov eax, edx
mov dword [0x00c59684], eax
mov eax, dword [0x00c5968c]
sub eax, 1
mov dword [0x00c59674], eax
mov edx, dword [0x00c59678]
mov eax, dword [0x00c59680]
cmp edx, eax
jg 0x440098
mov edx, dword [0x00c5967c]
mov eax, dword [0x00c59684]
cmp edx, eax
jg 0x44009b
mov eax, dword [0x00c59610]
test eax, eax
je 0x43e5d1
mov eax, dword [0x00c595a8]
cmp eax, 4
jne 0x43e593
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x5c]
test al, al
jne 0x43f70b
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x5c]
test al, al
je 0x43f30c
jmp 0x43f70b
mov eax, dword [0x00c595a4]
cmp eax, 1
jne 0x43e5b6
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
cmp eax, 0xffffffff
jne 0x43fa8b
jmp 0x43f8d5
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
cmp eax, 0xffffffff
jne 0x43fe60
jmp 0x43fc7d
nop
jmp 0x43e5d2
nop
mov eax, dword [0x00c595a8]
cmp eax, 4
jne 0x43e604
mov rax, qword [0x00c595b0]
movzx eax, byte [rax + 0x5c]
test al, al
jne 0x43ea44
mov rax, qword [0x00c595b8]
movzx eax, byte [rax + 0x5c]
test al, al
je 0x43e63f
jmp 0x43ea44
mov eax, dword [0x00c595a4]
cmp eax, 1
jne 0x43e627
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
cmp eax, 0xffffffff
jne 0x43ed04
jmp 0x43ebb0
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
cmp eax, 0xffffffff
jne 0x43f0e5
jmp 0x43eefc
nop
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43e6f9
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov eax, dword [0x00c59578]
neg eax
mov edx, eax
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43e741
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov edx, dword [0x00c59688]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595c0]
lea rdx, [rax + 4]
mov qword [0x00c595c0], rdx
mov eax, dword [rax]
mov dword [0x00c595d0], eax
mov eax, dword [0x00c595d0]
and eax, 0xff000000
cmp eax, 0x7f000000
je 0x43e850
cmp eax, 0x7f000000
ja 0x43e7a6
test eax, eax
je 0x43e7d7
jmp 0x43e8b2
cmp eax, 0x80000000
je 0x43e7ee
cmp eax, 0xff000000
jne 0x43e8b2
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
mov edx, dword [0x00c595d0]
mov dword [rax], edx
jmp 0x43e9c0
mov rax, qword [0x00c595c8]
add rax, 4
mov qword [0x00c595c8], rax
jmp 0x43e9c0
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
and eax, 0xfefefe
mov edx, eax
mov eax, dword [0x00c595d0]
and eax, 0xfefefe
add eax, edx
shr eax, 1
mov ecx, eax
mov rdx, qword [0x00723a38]
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
shr eax, 0x18
mov eax, eax
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov r8d, eax
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
lea edx, [rcx + r8]
mov dword [rax], edx
jmp 0x43e9c0
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
and eax, 0xfefefe
mov edx, eax
mov eax, dword [0x00c595d0]
and eax, 0xfefefe
add eax, edx
shr eax, 1
mov ecx, eax
mov rdx, qword [0x00723a30]
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
shr eax, 0x18
mov eax, eax
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov r8d, eax
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
lea edx, [rcx + r8]
mov dword [rax], edx
jmp 0x43e9c0
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
mov dword [0x00c595d8], eax
mov rax, qword [0x00723a20]
mov edx, dword [0x00c595d0]
shr edx, 0x18
shl edx, 0x10
mov edx, edx
add rax, rdx
mov qword [0x00c595f0], rax
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
shl eax, 8
movzx edx, ax
mov eax, dword [0x00c595d8]
movzx eax, al
add eax, edx
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx edx, al
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
and eax, 0xff00
mov r8d, eax
mov eax, dword [0x00c595d8]
shr eax, 8
movzx eax, al
or eax, r8d
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add edx, eax
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
shr eax, 8
and eax, 0xff00
mov r8d, eax
mov eax, dword [0x00c595d8]
shr eax, 0x10
movzx eax, al
or eax, r8d
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
add edx, eax
mov rax, qword [0x00723a28]
mov ecx, dword [0x00c595d0]
shr ecx, 0x18
mov r8d, ecx
mov ecx, dword [0x00c595d8]
shr ecx, 0x10
and ecx, 0xff00
add ecx, r8d
mov ecx, ecx
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
lea ecx, [rdx + rax]
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
mov edx, ecx
mov dword [rax], edx
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43e9e3
jmp 0x43e766
mov rdx, qword [0x00c595c0]
mov eax, dword [0x00c59580]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x44009e
jmp 0x43e75a
nop
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43eac3
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov eax, dword [0x00c59688]
neg eax
mov dword [0x00c59580], eax
jmp 0x43eb01
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov eax, dword [0x00c59688]
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
shl eax, 2
mov dword [0x00c59578], eax
mov eax, dword [0x00c5957c]
lea edx, [rax - 1]
mov dword [0x00c5957c], edx
test eax, eax
setne al
test al, al
je 0x4400a1
mov eax, dword [0x00c59578]
movsxd rcx, eax
mov rdx, qword [0x00c595c0]
mov rax, qword [0x00c595c8]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdx, qword [0x00c595c0]
mov eax, dword [0x00c59580]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59690]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
jmp 0x43eb36
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43ec26
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov eax, dword [0x00c59688]
neg eax
mov dword [0x00c59580], eax
jmp 0x43ec60
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov eax, dword [0x00c59688]
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov eax, dword [0x00c5957c]
lea edx, [rax - 1]
mov dword [0x00c5957c], edx
test eax, eax
setne al
test al, al
je 0x4400a4
mov eax, dword [0x00c59578]
movsxd rcx, eax
mov rdx, qword [0x00c595e0]
mov rax, qword [0x00c595e8]
mov r8, rcx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdx, qword [0x00c595e0]
mov eax, dword [0x00c59580]
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov rdx, qword [0x00c595e8]
mov eax, dword [0x00c59690]
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
jmp 0x43ec92
nop
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
mov dword [0x00c595d4], eax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43edc6
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov eax, dword [0x00c59578]
neg eax
mov edx, eax
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43ee0a
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59688]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595e0]
lea rdx, [rax + 1]
mov qword [0x00c595e0], rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c595d0], eax
mov edx, dword [0x00c595d0]
mov eax, dword [0x00c595d4]
cmp edx, eax
setne al
test al, al
je 0x43ee71
mov edx, dword [0x00c595d0]
mov rax, qword [0x00c595e8]
mov byte [rax], dl
mov rax, qword [0x00c595e8]
add rax, 1
mov qword [0x00c595e8], rax
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43eea3
jmp 0x43ee2f
mov rdx, qword [0x00c595e0]
mov eax, dword [0x00c59580]
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov rdx, qword [0x00c595e8]
mov eax, dword [0x00c59584]
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400a7
jmp 0x43ee23
mov rax, qword [0x00c595b0]
mov rax, qword [rax + 0x50]
mov qword [0x00c59698], rax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43efc3
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov eax, dword [0x00c59578]
neg eax
mov edx, eax
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43f007
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59688]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rcx, qword [0x00c59698]
mov rax, qword [0x00c595e0]
lea rdx, [rax + 1]
mov qword [0x00c595e0], rdx
movzx eax, byte [rax]
movzx eax, al
shl rax, 2
add rcx, rax
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
mov edx, dword [rcx]
mov dword [rax], edx
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43f088
jmp 0x43f02c
mov rdx, qword [0x00c595e0]
mov eax, dword [0x00c59580]
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400aa
jmp 0x43f020
nop
mov rax, qword [0x00c595b0]
mov rax, qword [rax + 0x50]
mov qword [0x00c59698], rax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
mov dword [0x00c595d4], eax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43f1bd
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov eax, dword [0x00c59578]
neg eax
mov edx, eax
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43f201
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59668]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59688]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595e0]
lea rdx, [rax + 1]
mov qword [0x00c595e0], rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c595d0], eax
mov edx, dword [0x00c595d0]
mov eax, dword [0x00c595d4]
cmp edx, eax
setne al
test al, al
je 0x43f27a
mov rdx, qword [0x00c59698]
mov eax, dword [0x00c595d0]
mov eax, eax
shl rax, 2
add rdx, rax
mov rax, qword [0x00c595c8]
mov edx, dword [rdx]
mov dword [rax], edx
mov rax, qword [0x00c595c8]
add rax, 4
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43f2af
jmp 0x43f226
mov rdx, qword [0x00c595e0]
mov eax, dword [0x00c59580]
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400ad
jmp 0x43f21a
nop
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43f3c2
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43f408
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
add eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595c0]
lea rdx, [rax - 4]
mov qword [0x00c595c0], rdx
mov eax, dword [rax]
mov dword [0x00c595d0], eax
mov eax, dword [0x00c595d0]
and eax, 0xff000000
cmp eax, 0x7f000000
je 0x43f517
cmp eax, 0x7f000000
ja 0x43f46d
test eax, eax
je 0x43f49e
jmp 0x43f579
cmp eax, 0x80000000
je 0x43f4b5
cmp eax, 0xff000000
jne 0x43f579
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
mov edx, dword [0x00c595d0]
mov dword [rax], edx
jmp 0x43f687
mov rax, qword [0x00c595c8]
add rax, 4
mov qword [0x00c595c8], rax
jmp 0x43f687
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
and eax, 0xfefefe
mov edx, eax
mov eax, dword [0x00c595d0]
and eax, 0xfefefe
add eax, edx
shr eax, 1
mov ecx, eax
mov rdx, qword [0x00723a38]
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
shr eax, 0x18
mov eax, eax
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov r8d, eax
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
lea edx, [rcx + r8]
mov dword [rax], edx
jmp 0x43f687
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
and eax, 0xfefefe
mov edx, eax
mov eax, dword [0x00c595d0]
and eax, 0xfefefe
add eax, edx
shr eax, 1
mov ecx, eax
mov rdx, qword [0x00723a30]
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
shr eax, 0x18
mov eax, eax
add rax, rdx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
mov r8d, eax
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
lea edx, [rcx + r8]
mov dword [rax], edx
jmp 0x43f687
mov rax, qword [0x00c595c8]
mov eax, dword [rax]
mov dword [0x00c595d8], eax
mov rax, qword [0x00723a20]
mov edx, dword [0x00c595d0]
shr edx, 0x18
shl edx, 0x10
mov edx, edx
add rax, rdx
mov qword [0x00c595f0], rax
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
shl eax, 8
movzx edx, ax
mov eax, dword [0x00c595d8]
movzx eax, al
add eax, edx
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx edx, al
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
and eax, 0xff00
mov r8d, eax
mov eax, dword [0x00c595d8]
shr eax, 8
movzx eax, al
or eax, r8d
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 8
add edx, eax
mov rcx, qword [0x00c595f0]
mov eax, dword [0x00c595d0]
shr eax, 8
and eax, 0xff00
mov r8d, eax
mov eax, dword [0x00c595d8]
shr eax, 0x10
movzx eax, al
or eax, r8d
mov eax, eax
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x10
add edx, eax
mov rax, qword [0x00723a28]
mov ecx, dword [0x00c595d0]
shr ecx, 0x18
mov r8d, ecx
mov ecx, dword [0x00c595d8]
shr ecx, 0x10
and ecx, 0xff00
add ecx, r8d
mov ecx, ecx
add rax, rcx
movzx eax, byte [rax]
movzx eax, al
shl eax, 0x18
lea ecx, [rdx + rax]
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
mov edx, ecx
mov dword [rax], edx
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43f6aa
jmp 0x43f42d
mov rdx, qword [0x00c595c0]
mov eax, dword [0x00c59580]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400b0
jmp 0x43f421
nop
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43f7c1
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43f807
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
add eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rdx, qword [0x00c595c0]
lea rax, [rdx - 4]
mov qword [0x00c595c0], rax
mov rax, qword [0x00c595c8]
lea rcx, [rax + 4]
mov qword [0x00c595c8], rcx
mov edx, dword [rdx]
mov dword [rax], edx
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43f874
jmp 0x43f82c
mov rdx, qword [0x00c595c0]
mov eax, dword [0x00c59580]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c0], rax
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400b3
jmp 0x43f820
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43f982
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43f9c4
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
add eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rdx, qword [0x00c595e0]
lea rax, [rdx - 1]
mov qword [0x00c595e0], rax
mov rax, qword [0x00c595e8]
lea rcx, [rax + 1]
mov qword [0x00c595e8], rcx
movzx edx, byte [rdx]
mov byte [rax], dl
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43fa32
jmp 0x43f9e9
mov rdx, qword [0x00c595e0]
mov eax, dword [0x00c59580]
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov rdx, qword [0x00c595e8]
mov eax, dword [0x00c59584]
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400b6
jmp 0x43f9dd
nop
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
mov dword [0x00c595d4], eax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43fb49
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43fb8b
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
add eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595e0]
lea rdx, [rax - 1]
mov qword [0x00c595e0], rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c595d0], eax
mov edx, dword [0x00c595d0]
mov eax, dword [0x00c595d4]
cmp edx, eax
setne al
test al, al
je 0x43fbf2
mov edx, dword [0x00c595d0]
mov rax, qword [0x00c595e8]
mov byte [rax], dl
mov rax, qword [0x00c595e8]
add rax, 1
mov qword [0x00c595e8], rax
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43fc24
jmp 0x43fbb0
mov rdx, qword [0x00c595e0]
mov eax, dword [0x00c59580]
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov rdx, qword [0x00c595e8]
mov eax, dword [0x00c59584]
cdqe
add rax, rdx
mov qword [0x00c595e8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400b9
jmp 0x43fba4
mov rax, qword [0x00c595b0]
mov rax, qword [rax + 0x50]
mov qword [0x00c59698], rax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43fd40
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43fd82
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
add eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rcx, qword [0x00c59698]
mov rax, qword [0x00c595e0]
lea rdx, [rax - 1]
mov qword [0x00c595e0], rdx
movzx eax, byte [rax]
movzx eax, al
shl rax, 2
add rcx, rax
mov rax, qword [0x00c595c8]
lea rdx, [rax + 4]
mov qword [0x00c595c8], rdx
mov edx, dword [rcx]
mov dword [rax], edx
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x43fe03
jmp 0x43fda7
mov rdx, qword [0x00c595e0]
mov eax, dword [0x00c59580]
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400bc
jmp 0x43fd9b
nop
mov rax, qword [0x00c595b0]
mov rax, qword [rax + 0x50]
mov qword [0x00c59698], rax
mov rax, qword [0x00c595b0]
mov eax, dword [rax + 0x58]
mov dword [0x00c595d4], eax
mov edx, dword [0x00c59680]
mov eax, dword [0x00c59678]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c59578], eax
mov rax, qword [0x00c595b8]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5967c]
mov eax, dword [0x00c59690]
imul eax, ecx
mov ecx, dword [0x00c59678]
add eax, ecx
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov edx, dword [0x00c59690]
mov eax, dword [0x00c59578]
sub edx, eax
mov eax, edx
mov dword [0x00c59584], eax
mov eax, dword [0x00c5960c]
test eax, eax
je 0x43ff34
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c59674]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
sub edx, eax
mov eax, edx
mov dword [0x00c59580], eax
jmp 0x43ff76
mov rax, qword [0x00c595b0]
mov rdx, qword [rax + 0x40]
mov ecx, dword [0x00c5966c]
mov eax, dword [0x00c59688]
imul eax, ecx
mov ecx, dword [0x00c59670]
add eax, ecx
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov edx, dword [0x00c59578]
mov eax, dword [0x00c59688]
add eax, edx
mov dword [0x00c59580], eax
mov edx, dword [0x00c59684]
mov eax, dword [0x00c5967c]
sub edx, eax
mov eax, edx
add eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c59578]
mov dword [0x00c59590], eax
mov rax, qword [0x00c595e0]
lea rdx, [rax - 1]
mov qword [0x00c595e0], rdx
movzx eax, byte [rax]
movzx eax, al
mov dword [0x00c595d0], eax
mov edx, dword [0x00c595d0]
mov eax, dword [0x00c595d4]
cmp edx, eax
setne al
test al, al
je 0x43ffef
mov rdx, qword [0x00c59698]
mov eax, dword [0x00c595d0]
mov eax, eax
shl rax, 2
add rdx, rax
mov rax, qword [0x00c595c8]
mov edx, dword [rdx]
mov dword [rax], edx
mov rax, qword [0x00c595c8]
add rax, 4
mov qword [0x00c595c8], rax
mov eax, dword [0x00c59590]
sub eax, 1
mov dword [0x00c59590], eax
mov eax, dword [0x00c59590]
test eax, eax
setne al
test al, al
je 0x440024
jmp 0x43ff9b
mov rdx, qword [0x00c595e0]
mov eax, dword [0x00c59580]
cdqe
add rax, rdx
mov qword [0x00c595e0], rax
mov rdx, qword [0x00c595c8]
mov eax, dword [0x00c59584]
cdqe
shl rax, 2
add rax, rdx
mov qword [0x00c595c8], rax
mov eax, dword [0x00c5957c]
sub eax, 1
mov dword [0x00c5957c], eax
mov eax, dword [0x00c5957c]
test eax, eax
setne al
test al, al
je 0x4400bf
jmp 0x43ff8f
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
jmp 0x4400c0
nop
add rsp, 0x90
pop rbx
pop rsi
pop rbp
ret