Function at 0x180051c20
Capabilities:
Create thread
Terminate process

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e8]
sub rsp, 0x2e8
movdqa xmm0, xmmword [0x18009ab00]
xor r15d, r15d
movdqu xmmword [rbp - 6], xmm0
mov esi, ecx
mov r14, rdx
movdqu xmmword [rbp - 0x46], xmm0
mov qword [rbp - 0x20], r15
lea ecx, [r15 + 0x30]
xorps xmm0, xmm0
mov word [rbp - 0x18], r15w
mov byte [rbp - 0x16], r15b
mov qword [rbp - 0x60], r15
mov word [rbp - 0x58], r15w
mov byte [rbp - 0x56], r15b
movdqa xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], r15
movdqa xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x20], r15
call fcn.1800694c0
xorps xmm0, xmm0
lea edi, [rsi + 9]
mov dword [rbp + 0x248], edi
xorps xmm2, xmm2
xorps xmm1, xmm1
mov ebx, 1
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
movdqa xmmword [rbp + 0x50], xmm0
movdqa xmmword [rbp + 0x70], xmm0
movsd qword [rbp + 0x30], xmm2
movsd qword [rbp + 0x1c0], xmm2
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x28], r15
mov qword [rbp + 0x38], r15
mov qword [rbp + 0x40], r15
mov dword [rbp + 0x48], ebx
movdqa xmmword [rbp + 0x60], xmm1
movdqa xmmword [rbp + 0x80], xmm1
mov qword [rbp + 0x90], 0xffffffffffffffff
mov dword [rbp + 0x98], r15d
mov byte [rbp + 0xf0], r15b
mov word [rbp + 0x110], r15w
mov dword [rbp + 0x114], r15d
mov qword [rbp + 0x118], r15
mov dword [rbp + 0x130], r15d
mov qword [rbp + 0x148], r15
mov qword [rbp + 0x150], 0xf
mov byte [rbp + 0x138], r15b
mov qword [rbp + 0x168], r15
mov qword [rbp + 0x170], 0xf
mov byte [rbp + 0x158], r15b
mov qword [rbp + 0x188], r15
mov qword [rbp + 0x190], 0xf
mov byte [rbp + 0x178], r15b
mov qword [rbp + 0x198], r15
mov qword [rbp + 0x1a0], 0xffffffffffffffff
mov qword [rbp + 0x1a8], r15
mov qword [rbp + 0x1b0], r15
mov qword [rbp + 0x1b8], r15
mov word [rbp + 0x1c8], r15w
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
movdqa xmm0, xmmword [0x18009ab00]
movdqa xmmword [rbp + 0x100], xmm0
xorps xmm0, xmm0
movaps xmmword [rbp + 0x120], xmm0
mov byte [rbp + 0x1ca], r15b
cmp esi, edi
jae 0x18005248a
mov r13d, dword [rbp + 0x240]
lea edi, [rsi - 0xdb]
mov eax, dword [rbp + 0x248]
lea rdx, [0x180000000]
mov dword [rsp + 0x30], edi
lea r10, [0x18000d320]
movabs r9, 0x1fffffffffffffff
lea r8, str.SVGPathSegMovetoAbsConstructor
mov r12d, 0x1bb
cmp edi, 9
ja case.default.0x180051e5a
mov ecx, dword [rdx + rdi*4 + 0x52704]
add rcx, rdx
jmp rcx
mov rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x50]
je 0x180051e7a
lea rcx, [rbp - 0x20]
mov qword [rax], rcx
add qword [rsp + 0x48], 8
jmp case.0x180051e5a.8
mov r15, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov r14, r15
sub r14, rax
sar r14, 3
cmp r14, r9
je 0x1800526fb
mov rcx, qword [rsp + 0x50]
lea r12, [r14 + 1]
sub rcx, rax
mov rax, r9
sar rcx, 3
mov rdx, rcx
shr rdx, 1
sub rax, rdx
cmp rcx, rax
jbe 0x180051ebd
mov rax, r12
jmp 0x180051ec8
lea rax, [rdx + rcx]
cmp rax, r12
cmovb rax, r12
cmp rax, r9
ja 0x1800526f5
lea rsi, [rax*8]
cmp rsi, 0x1000
jb 0x180051f0b
lea rcx, [rsi + 0x27]
cmp rcx, rsi
jbe 0x1800526f5
call fcn.1800694c0
test rax, rax
je 0x1800526ef
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x180051f1f
test rsi, rsi
je 0x180051f1d
mov rcx, rsi
call fcn.1800694c0
mov rdi, rax
jmp 0x180051f1f
xor edi, edi
lea rax, [rbp - 0x20]
mov rcx, rdi
mov qword [rdi + r14*8], rax
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
cmp r15, r8
jne 0x180051f3e
sub r8, rdx
jmp 0x180051f5c
mov r8, r15
sub r8, rdx
call fcn.18006a6b0
mov r8, qword [rsp + 0x48]
lea rcx, [r14 + 1]
sub r8, r15
lea rcx, [rdi + rcx*8]
mov rdx, r15
call fcn.18006a6b0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x180051fa1
mov rdx, qword [rsp + 0x50]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x180051f9c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800526ef
call fcn.1800694fc
lea rax, [rdi + r12*8]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rax
xor r15d, r15d
lea rax, [rsi + rdi]
mov edi, dword [rsp + 0x30]
mov esi, dword [rbp + 0x230]
mov qword [rsp + 0x50], rax
jmp 0x180052442
test r14, r14
je case.0x180051e5a.8
mov rcx, qword [r14]
call fcn.18006e3dc
mov rcx, r14
call fcn.18006e3dc
jmp 0x180052442
lea rax, [rsp + 0x30]
mov qword [rsp + 0x30], r10
mov r9d, 0x132
mov qword [rsp + 0x20], rax
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180060250
lea r9, [0x1800b3110]
mov dword [rsp + 0x28], 0x9f
xor r8d, r8d
mov qword [rsp + 0x20], r15
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x10]
call fcn.18004a560
xor r9d, r9d
lea rcx, [rbp + 0x10]
xor r8d, r8d
mov edx, 0xf3
call fcn.18001e040
jmp 0x180052442
mov rcx, qword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x180052442
mov edi, 0x10
nop dword [rax + rax]
cmp edi, 0x11
ja case.0x180052075.4
mov eax, edi
mov ecx, dword [rdx + rax*4 + 0x5272c]
add rcx, rdx
jmp rcx
mov qword [0x1800b4600], r8
jmp case.0x180052075.4
mov r8, qword [0x1800b31a8]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13d, eax
lea rdx, [0x180000000]
lea r8, str.SVGPathSegMovetoAbsConstructor
jmp case.0x180052075.4
cmp r13d, 0xb7
jne case.0x180052075.4
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
mov rcx, qword [0x1800b3118]
test rcx, rcx
je case.0x180052075.4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x89
call fcn.1800473c0
lea rdx, [0x180000000]
lea r8, str.SVGPathSegMovetoAbsConstructor
jmp case.0x180052075.4
mov rcx, qword [0x1800b3120]
test rcx, rcx
je 0x18005210e
xor r9d, r9d
xor r8d, r8d
mov edx, 0x89
call fcn.1800473c0
mov rcx, qword [0x1800b3128]
test rcx, rcx
je 0x18005212a
xor r9d, r9d
xor r8d, r8d
mov edx, 0x89
call fcn.1800473c0
lea rcx, [0x1800b3110]
call fcn.18006e3dc
lea rdx, [0x180000000]
lea r8, str.SVGPathSegMovetoAbsConstructor
jmp case.0x180052075.4
mov qword [rbp - 0x70], r15
inc edi
lea eax, [rdi + 0x81]
cmp eax, 0x99
jb 0x180052060
jmp 0x1800521c5
mov rax, qword [rbp - 0x70]
xor r9d, r9d
mov qword [rsp + 0x28], r15
xor r8d, r8d
xor ecx, ecx
mov rax, qword [rax + 0x18]
lea edx, [r9 + 0x75]
mov qword [rsp + 0x20], rax
call fcn.1800227a0
cmp eax, ebx
je 0x1800521c5
mov edx, 0x72
lea r9, str.mtoExponential___argument_must_be_between_0_and_20
lea r8d, [rdx - 0x6b]
jmp 0x1800521b2
lea rax, [0x1800b3110]
mov r8d, ebx
mov qword [rbp - 0x70], rax
lea r9, str.Levykuvan_lukuvirhe_
mov edx, 0x61
mov rax, qword [0x1800b4600]
xor ecx, ecx
mov qword [rsp + 0x20], rax
call fcn.180066dc0
lea r9, [0x1800b3118]
xor edx, edx
xor ecx, ecx
mov r8d, 0xa9
call fcn.180015e90
test al, al
je 0x180052490
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call fcn.18006eb0c
lea r9, [rbp - 0x20]
mov word [rbp + 0x240], r12w
lea r8, [0x1800b3158]
mov dword [rsp + 0x20], 0xeb
xor edx, edx
lea rcx, [rbp + 0x240]
call fcn.1800157d0
lea r9, [rbp + 0x240]
mov word [rbp + 0x240], r12w
lea r8, [0x1800b3178]
mov dword [rsp + 0x20], 0x8a
lea rdx, [rbp - 0x60]
xor ecx, ecx
call fcn.18001e640
mov edi, dword [rsp + 0x30]
jmp 0x180052442
mov rax, qword [rsp + 0x48]
cmp rax, qword [rsp + 0x50]
je 0x180052269
lea rcx, [rbp - 0x60]
mov qword [rax], rcx
add qword [rsp + 0x48], 8
jmp 0x1800523b4
mov r15, qword [rsp + 0x48]
mov rax, qword [rsp + 0x40]
mov rsi, r15
sub rsi, rax
sar rsi, 3
cmp rsi, r9
je 0x1800526fb
mov rcx, qword [rsp + 0x50]
lea r12, [rsi + 1]
sub rcx, rax
mov rax, r9
sar rcx, 3
mov rdx, rcx
shr rdx, 1
sub rax, rdx
cmp rcx, rax
jbe 0x1800522ac
mov rax, r12
jmp 0x1800522b7
lea rax, [rdx + rcx]
cmp rax, r12
cmovb rax, r12
cmp rax, r9
ja 0x1800526f5
lea r14, [rax*8]
cmp r14, 0x1000
jb 0x1800522fa
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x1800526f5
call fcn.1800694c0
test rax, rax
je 0x1800526ef
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18005230e
test r14, r14
je 0x18005230c
mov rcx, r14
call fcn.1800694c0
mov rdi, rax
jmp 0x18005230e
xor edi, edi
lea rax, [rbp - 0x60]
mov rcx, rdi
mov qword [rdi + rsi*8], rax
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
cmp r15, r8
jne 0x18005232d
sub r8, rdx
jmp 0x18005234b
mov r8, r15
sub r8, rdx
call fcn.18006a6b0
mov r8, qword [rsp + 0x48]
lea rcx, [rsi + 1]
sub r8, r15
lea rcx, [rdi + rcx*8]
mov rdx, r15
call fcn.18006a6b0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x180052390
mov rdx, qword [rsp + 0x50]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x18005238b
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800526ef
call fcn.1800694fc
mov esi, dword [rbp + 0x230]
lea rax, [rdi + r12*8]
mov qword [rsp + 0x48], rax
xor r15d, r15d
lea rax, [r14 + rdi]
mov qword [rsp + 0x40], rdi
mov edi, dword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov eax, dword [0x1800b31a0]
lea r9, [rsp + 0x40]
xor r8d, r8d
mov dword [rsp + 0x30], eax
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x20], r15
lea edx, [r8 + 0x13]
call fcn.180021930
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], r15
mov qword [rbp - 0x30], rax
lea r9, [rbp + 0x1d0]
mov eax, dword [0x1800b31a0]
lea r8, [0x180022770]
mov dword [rbp - 0x28], eax
xor edx, edx
mov eax, dword [0x1800b31a4]
xor ecx, ecx
mov dword [rbp - 0x24], eax
movaps xmm0, xmmword [rbp - 0x30]
movdqa xmmword [rbp + 0x1d0], xmm0
mov dword [rsp + 0x20], r15d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x68], rax
jmp 0x180052442
cmp qword [rbp - 0x68], 0
je 0x180052490
jmp case.0x180051e5a.8
lea r8, [rsp + 0x40]
mov edx, 0xd0
xor ecx, ecx
call fcn.18001f190
lea r10, [0x18000d320]
movabs r9, 0x1fffffffffffffff
lea r8, str.SVGPathSegMovetoAbsConstructor
lea rdx, [0x180000000]
mov eax, dword [rbp + 0x248]
inc esi
inc edi
mov dword [rbp + 0x230], esi
mov dword [rsp + 0x30], edi
cmp esi, eax
jae 0x18005248a
mov r14, qword [rbp + 0x238]
jmp 0x180051e41
mov ebx, r15d
jmp 0x180052490
mov ebx, dword [rbp + 0x240]
lea rcx, [rbp + 0x138]
call fcn.1800049e0
lea rcx, [rbp + 0x90]
call fcn.180004ba0
mov rdi, qword [rbp + 0x78]
test rdi, rdi
je 0x18005251f
mov rsi, qword [rbp + 0x80]
cmp rdi, rsi
je 0x1800524d5
nop dword [rax]
mov rcx, rdi
call fcn.1800327d0
add rdi, 0x20
cmp rdi, rsi
jne 0x1800524c0
mov rdi, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x88]
mov rax, rdi
sub rdx, rdi
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
jb 0x180052508
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800526ef
mov rcx, rdi
call fcn.1800694fc
xorps xmm0, xmm0
mov qword [rbp + 0x78], r15
movdqa xmmword [rbp + 0x80], xmm0
mov rcx, qword [rbp + 0x60]
test rcx, rcx
je 0x180052569
mov rdx, qword [rbp + 0x70]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff0
cmp rdx, 0x1000
jb 0x180052558
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800526ef
call fcn.1800694fc
xorps xmm0, xmm0
mov qword [rbp + 0x70], r15
movdqa xmmword [rbp + 0x60], xmm0
lea rcx, [rbp + 0x18]
call fcn.180004b40
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x18005260c
mov rsi, qword [rsp + 0x60]
cmp rdi, rsi
je 0x1800525a6
nop word [rax + rax]
mov rcx, rdi
call fcn.180004ae0
add rdi, 0x28
cmp rdi, rsi
jne 0x180052590
mov rdi, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x68]
movabs rax, 0x6666666666666667
sub rcx, rdi
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov rax, rdi
lea rdx, [rdx + rdx*4]
shl rdx, 3
cmp rdx, 0x1000
jb 0x1800525f6
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800526ef
mov rcx, rdi
call fcn.1800694fc
xorps xmm0, xmm0
mov qword [rsp + 0x58], r15
movdqa xmmword [rsp + 0x60], xmm0
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x18005265a
mov rdx, qword [rsp + 0x50]
mov rax, rcx
sub rdx, rcx
and rdx, 0xfffffffffffffff8
cmp rdx, 0x1000
jb 0x180052647
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800526ef
call fcn.1800694fc
xorps xmm0, xmm0
mov qword [rsp + 0x50], r15
movdqa xmmword [rsp + 0x40], xmm0
mov rdx, qword [rbp - 0x3e]
cmp rdx, 0x10
jb 0x180052691
mov rcx, qword [rbp - 0x56]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005268c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800526ef
call fcn.1800694fc
mov rdx, qword [rbp + 2]
movdqa xmm0, xmmword [0x18009ab00]
mov byte [rbp - 0x56], 0
movdqu xmmword [rbp - 0x46], xmm0
cmp rdx, 0x10
jb 0x1800526d9
mov rcx, qword [rbp - 0x16]
inc rdx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800526d4
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800526ef
call fcn.1800694fc
mov eax, ebx
add rsp, 0x2e8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.18006d604
int3
call fcn.180032680
int3
call fcn.180032c00
int3