// File: /workspace/github_cpp_makefile_star2_O1/allardlamberink[P]fritz-curl/fritz-curl.cpp
// Function: main
int main(int argc, char* argv[]) { 
	if (argc < 2)
	{
		cout << "Fritz-cURL version 0.1" << endl;
		cout << "No arguments given, example usage:" << endl;
		cout << "wlan24 0 (switch wlan 2.4 GHz off" << endl;
		cout << "wlan24 1 (switch wlan 2.4 GHz on" << endl;
		cout << "wlan24 2 (return wlan 2.4 GHz status" << endl;
	}
	if (argc == 3)
	{
		string functionname, argname, upnpaction, urn = "";
		upnpaction = "/upnp/control/wlanconfig1"; // currently only wlan support
		urn = "urn:dslforum-org:service:WLANConfiguration:1"; //=serviceType and !ID
		switch(argv[2][0])
		{
			case '0':
			       	functionname = "SetEnable";
			 	argname = "<NewEnable>0</NewEnable>";
				break;
			case '1':
			       	functionname = "SetEnable";
			 	argname = "<NewEnable>1</NewEnable>";
				break;
			case '2':
			       	functionname = "GetInfo";
			 	argname = "";
				break;
		}

		const string runningpath = argv[0];
		const string settingsfullpath = runningpath.substr(0,runningpath.find_last_of("/")) + "/settings.xml";

		string settingsstr = "";
		/* read settings file */
		try
	        {
			readfile(settingsfullpath, settingsstr);
		}
		catch (std::exception &e)
		{
			perror("Error loading settings file, make sure settings.xml exists and is readable. Original errormessage: ");
		}

		/* initialize variables */ 
	        if(settingsstr.empty())
		{
			perror("Error loading settings file, make sure settings.xml exists, is readable and is not empty.");
			return 1;
		}

		string fbuser = getXmlProp(settingsstr, "settings.fbuser");
		string fbpwd = getXmlProp(settingsstr, "settings.fbpwd");
		string fburl = "http://" + getXmlProp(settingsstr, "settings.fburl");
		string fbport = getXmlProp(settingsstr, "settings.fbport");
		string debugstr = getXmlProp(settingsstr, "settings.debug");
		bDebug = debugstr == "True";

		if(bDebug) cout << "functionname=" << functionname << " and argname=" << argname << endl;

		// if the fritzbox is password protected, then first an initchallenge needs to be sent in order to get the Nonce and the Realm

		string initdata="<?xml version=\"1.0\" encoding=\"utf-8\"?> <s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Header><h:InitChallenge xmlns:h=\"http://soap-authentication.org/digest/2001/10/\" s:mustUnderstand=\"1\"><UserID>" + fbuser + "</UserID></h:InitChallenge></s:Header><s:Body><u:" + functionname + " xmlns:u=\"" + urn + "\"></u:" + functionname + "></s:Body></s:Envelope>";

		if (bDebug)
		{	
		    cout << "sending initdata=" + initdata + "\r\n\r\n" << endl;
		}

		/* send the initdata using curl */
		string out = executeCurlAction(fburl, fbport, upnpaction, urn, functionname, initdata);
		if (bDebug)
		{
			cout << "result = " + out << endl;
		}	

		/* read the nonce and realm from the curlaction result */
		string nonce = getXmlProp(out, "s:Envelope.s:Header.h:Challenge.Nonce");
		string realm = getXmlProp(out, "s:Envelope.s:Header.h:Challenge.Realm");
		if (bDebug)
		{
			fprintf(stdout, "\r\n\r\nAllard:nonce=%s en realm=%s \r\n\r\n", nonce.c_str(), realm.c_str());
		}

		string authstr=fbuser + ":" + realm + ":" + fbpwd;
		string md5authstr=getmd5sum(authstr);
		string auth = getmd5sum(md5authstr + ":" + nonce);
		
		if (bDebug)
		{
			cout << "sending part2" << endl;
		}

		string actiondata="<?xml version=\"1.0\" encoding=\"utf-8\"?> <s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\"><s:Header><h:ClientAuth xmlns:h=\"http://soap-authentication.org/digest/2001/10/\" s:mustUnderstand=\"1\"><Nonce>" + nonce + "</Nonce><Auth>" + auth + "</Auth><UserID>" + fbuser + "</UserID><Realm>" + realm + "</Realm></h:ClientAuth></s:Header><s:Body><u:" + functionname + " xmlns:u=\"" + urn + "\">" + argname + "</u:" + functionname + "></s:Body></s:Envelope>";

		out = executeCurlAction(fburl, fbport, upnpaction, urn, functionname, actiondata);

		// TODO: read the new nonce
		// TODO: read out the new WLAN status to verify whether the command was executed successfully or not
		// example: cout << "callist url=" + getXmlProp(out, "s:Envelope.s:Body.u:GetCallListResponse.NewCallListURL") << endl;
		//
		// TODO: cleanup all used variables / objects!!! 
		// TODO: add support for security port
	}
	else
	{ //other than 3 arguments, do nothing
	}
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x7f8, %rsp            # imm = 0x7F8
movq %rsi, %rbx
movl %edi, %r14d
cmpl $0x1, %edi
jg 0x41c2
movq 0x12f25(%rip), %r15     # 0x16fc0
leaq 0xd050(%rip), %rsi      # 0x110f2
movl $0x16, %edx
movq %r15, %rdi
callq 0x33f0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq %r15, %rdi
callq 0x3260
movq %rax, %rdi
callq 0x3220
leaq 0xd02c(%rip), %rsi      # 0x11109
movl $0x22, %edx
movq %r15, %rdi
callq 0x33f0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq %r15, %rdi
callq 0x3260
movq %rax, %rdi
callq 0x3220
leaq 0xd014(%rip), %rsi      # 0x1112c
movl $0x21, %edx
movq %r15, %rdi
callq 0x33f0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq %r15, %rdi
callq 0x3260
movq %rax, %rdi
callq 0x3220
leaq 0xcffb(%rip), %rsi      # 0x1114e
movl $0x20, %edx
movq %r15, %rdi
callq 0x33f0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq %r15, %rdi
callq 0x3260
movq %rax, %rdi
callq 0x3220
leaq 0xcfe1(%rip), %rsi      # 0x1116f
movl $0x24, %edx
movq %r15, %rdi
callq 0x33f0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq %r15, %rdi
callq 0x3260
movq %rax, %rdi
callq 0x3220
cmpl $0x3, %r14d
jne 0x5fa7
leaq -0x100(%rbp), %r12
movq %r12, -0x10(%r12)
xorl %eax, %eax
movq %rax, -0x8(%r12)
movb %al, (%r12)
leaq -0x220(%rbp), %r13
movq %r13, -0x10(%r13)
movq %rax, -0x8(%r13)
movb %al, (%r13)
leaq -0x240(%rbp), %rcx
movq %rcx, -0x10(%rcx)
movq %rax, -0x8(%rcx)
movb %al, (%rcx)
leaq -0x180(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0xd345(%rip), %r14      # 0x1155e
leaq -0x190(%rbp), %rdi
movq %r14, %rsi
movq %r14, %rdx
callq 0x6dac
leaq -0x250(%rbp), %rdi
movq 0x8(%rdi), %rdx
leaq 0xcf57(%rip), %rcx      # 0x11194
movl $0x19, %r8d
xorl %esi, %esi
callq 0x3230
leaq -0x190(%rbp), %rdi
movq 0x8(%rdi), %rdx
leaq 0xcf52(%rip), %rcx      # 0x111ae
movl $0x2c, %r8d
xorl %esi, %esi
callq 0x3230
movq 0x10(%rbx), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
je 0x42d5
cmpl $0x31, %eax
je 0x42a7
cmpl $0x32, %eax
jne 0x4319
xorl %r15d, %r15d
leaq -0x110(%rbp), %rdi
movq 0x8(%rdi), %rdx
leaq 0xcf7f(%rip), %rcx      # 0x11217
movl $0x7, %r8d
xorl %esi, %esi
callq 0x3230
jmp 0x4301
leaq -0x110(%rbp), %rdi
movq 0x8(%rdi), %rdx
leaq 0xcf22(%rip), %rcx      # 0x111db
movl $0x9, %r8d
xorl %esi, %esi
callq 0x3230
movl $0x18, %r15d
leaq 0xcf2b(%rip), %r14      # 0x111fe
jmp 0x4301
leaq -0x110(%rbp), %rdi
movq 0x8(%rdi), %rdx
leaq 0xcef4(%rip), %rcx      # 0x111db
movl $0x9, %r8d
xorl %esi, %esi
callq 0x3230
movl $0x18, %r15d
leaq 0xcee4(%rip), %r14      # 0x111e5
leaq -0x230(%rbp), %rdi
movq 0x8(%rdi), %rdx
xorl %esi, %esi
movq %r14, %rcx
movq %r15, %r8
callq 0x3230
movq (%rbx), %rsi
leaq -0x810(%rbp), %rdi
leaq -0x210(%rbp), %rdx
callq 0x6c24
leaq 0xcfda(%rip), %rsi      # 0x11310
leaq -0x810(%rbp), %rbx
movl $0x1, %ecx
movq %rbx, %rdi
movq $-0x1, %rdx
callq 0x3360
leaq -0xf0(%rbp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3410
leaq 0xceb3(%rip), %rsi      # 0x1121f
leaq -0xf0(%rbp), %rdi
callq 0x32e0
leaq -0x200(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x43a5
movq %rdx, -0x210(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x200(%rbp)
jmp 0x43ac
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, -0x208(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xe0(%rbp), %r15
movq -0x10(%r15), %rdi
cmpq %r15, %rdi
je 0x43e5
movq -0xe0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0xf0(%rbp), %rdi
movq %r15, (%rdi)
leaq 0xd168(%rip), %rdx      # 0x1155e
movq %rdx, %rsi
callq 0x6dac
leaq -0x210(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x360c
movq -0xe8(%rbp), %rdx
testq %rdx, %rdx
je 0x5fbd
leaq -0x760(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0xf0(%rbp), %rsi
addq %rsi, %rdx
leaq -0x770(%rbp), %rdi
callq 0x6e46
leaq -0x740(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0xce97(%rip), %rsi      # 0x112eb
leaq 0xce9f(%rip), %rdx      # 0x112fa
leaq -0x750(%rbp), %rdi
callq 0x6dac
leaq -0x390(%rbp), %rdi
leaq -0x770(%rbp), %rsi
leaq -0x750(%rbp), %rdx
callq 0x3daf
movq -0x750(%rbp), %rdi
cmpq %r14, %rdi
je 0x449c
movq -0x740(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x770(%rbp), %rdi
cmpq %rbx, %rdi
je 0x44b7
movq -0x760(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x700(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x710(%rbp), %rdi
callq 0x6e46
leaq -0x6e0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0xce0a(%rip), %rsi      # 0x112fb
leaq 0xce11(%rip), %rdx      # 0x11309
leaq -0x6f0(%rbp), %rdi
callq 0x6dac
leaq -0x730(%rbp), %rdi
leaq -0x710(%rbp), %rsi
leaq -0x6f0(%rbp), %rdx
callq 0x3daf
movq -0x6f0(%rbp), %rdi
cmpq %r14, %rdi
je 0x4539
movq -0x6e0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x710(%rbp), %rdi
cmpq %rbx, %rdi
je 0x4554
movq -0x700(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x6c0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x6d0(%rbp), %rdi
callq 0x6e46
leaq -0x6a0(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0xcd84(%rip), %rsi      # 0x11312
leaq 0xcd8b(%rip), %rdx      # 0x11320
leaq -0x6b0(%rbp), %rdi
callq 0x6dac
leaq -0x170(%rbp), %rdi
leaq -0x6d0(%rbp), %rsi
leaq -0x6b0(%rbp), %rdx
callq 0x3daf
leaq 0xcd48(%rip), %rcx      # 0x1130a
leaq -0x170(%rbp), %rdi
movl $0x7, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x30f0
leaq -0x1c0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4605
movq %rdx, -0x1d0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1c0(%rbp)
jmp 0x460b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1c8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x160(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4644
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x6b0(%rbp), %rdi
cmpq %r14, %rdi
je 0x465f
movq -0x6a0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x6d0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x467a
movq -0x6c0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x680(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x690(%rbp), %rdi
callq 0x6e46
leaq -0x660(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0xcc6d(%rip), %rsi      # 0x11321
leaq 0xcc75(%rip), %rdx      # 0x11330
leaq -0x670(%rbp), %rdi
callq 0x6dac
leaq -0x170(%rbp), %rdi
leaq -0x690(%rbp), %rsi
leaq -0x670(%rbp), %rdx
callq 0x3daf
movq -0x670(%rbp), %rdi
cmpq %r14, %rdi
je 0x46fc
movq -0x660(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x690(%rbp), %rdi
cmpq %rbx, %rdi
je 0x4717
movq -0x680(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x640(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x650(%rbp), %rdi
callq 0x6e46
leaq -0x620(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0xcbe0(%rip), %rsi      # 0x11331
leaq 0xcbe7(%rip), %rdx      # 0x1133f
leaq -0x630(%rbp), %rdi
callq 0x6dac
leaq -0x7f0(%rbp), %rdi
leaq -0x650(%rbp), %rsi
leaq -0x630(%rbp), %rdx
callq 0x3daf
movq -0x630(%rbp), %rdi
cmpq %r14, %rdi
je 0x4799
movq -0x620(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x650(%rbp), %rdi
cmpq %rbx, %rdi
je 0x47b4
movq -0x640(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq 0xcb85(%rip), %rsi      # 0x11340
leaq -0x7f0(%rbp), %rdi
callq 0x33d0
testl %eax, %eax
sete 0x12aa4(%rip)           # 0x17274
jne 0x485f
movq 0x127e3(%rip), %rdi     # 0x16fc0
leaq 0xcb61(%rip), %rsi      # 0x11345
movl $0xd, %edx
callq 0x33f0
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
movq 0x127bd(%rip), %rdi     # 0x16fc0
callq 0x33f0
movq %rax, %rbx
leaq 0xcb41(%rip), %rsi      # 0x11353
movl $0xd, %edx
movq %rax, %rdi
callq 0x33f0
movq -0x230(%rbp), %rsi
movq -0x228(%rbp), %rdx
movq %rbx, %rdi
callq 0x33f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3260
movq %rax, %rdi
callq 0x3220
leaq 0xcafb(%rip), %rsi      # 0x11361
leaq -0x50(%rbp), %rdi
leaq -0x390(%rbp), %rdx
callq 0x6c61
leaq 0xcbf9(%rip), %rsi      # 0x11476
leaq -0x50(%rbp), %rdi
callq 0x32e0
leaq -0xa0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x48b3
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x48b9
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0xb0(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
callq 0x3320
leaq -0xc0(%rbp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4918
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x4920
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq -0xd0(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xcb63(%rip), %rsi      # 0x114a8
callq 0x32e0
leaq -0x120(%rbp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4977
movq %rdx, -0x130(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x120(%rbp)
jmp 0x497f
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq -0x130(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
callq 0x3320
leaq -0x140(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x49dd
movq %rdx, -0x150(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x140(%rbp)
jmp 0x49e3
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
leaq -0x150(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xcaab(%rip), %rsi      # 0x114b3
callq 0x32e0
leaq -0x60(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4a31
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x4a38
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0x70(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
callq 0x3320
leaq -0x80(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4a8d
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x4a94
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq -0x90(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xca01(%rip), %rsi      # 0x114ba
callq 0x32e0
leaq -0x1e0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4aeb
movq %rdx, -0x1f0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1e0(%rbp)
jmp 0x4af1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1e8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x4b23
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x4b38
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x150(%rbp), %rdi
cmpq %rbx, %rdi
je 0x4b53
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x130(%rbp), %rdi
cmpq %r13, %rdi
je 0x4b6e
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0xd0(%rbp), %rdi
cmpq %r12, %rdi
je 0x4b89
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x4bab
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x40(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x4bc4
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x30b0
cmpb $0x1, 0x126a9(%rip)     # 0x17274
jne 0x4cb0
leaq 0xc8fa(%rip), %rsi      # 0x114d2
leaq -0x70(%rbp), %rdi
leaq -0x1f0(%rbp), %rdx
callq 0x6c61
leaq 0xc96b(%rip), %rsi      # 0x1155a
leaq -0x70(%rbp), %rdi
callq 0x32e0
movq %r14, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x4c1e
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x4c25
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
movq 0x1236c(%rip), %rdi     # 0x16fc0
callq 0x33f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3260
movq %rax, %rdi
callq 0x3220
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x4c9b
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
je 0x4cb0
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x400(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x410(%rbp), %rdi
callq 0x6e46
leaq -0x3e0(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3f0(%rbp), %rdi
callq 0x6e46
leaq -0x600(%rbp), %r12
movq %r12, -0x10(%r12)
movq -0x250(%rbp), %rsi
movq -0x248(%rbp), %rdx
addq %rsi, %rdx
leaq -0x610(%rbp), %rdi
callq 0x6e46
leaq -0x5e0(%rbp), %r13
movq %r13, -0x10(%r13)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5f0(%rbp), %rdi
callq 0x6e46
leaq -0x5c0(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5d0(%rbp), %rdi
callq 0x6e46
leaq -0x7c0(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x1f0(%rbp), %rsi
movq -0x1e8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x7d0(%rbp), %rbx
movq %rbx, %rdi
callq 0x6e46
movq %rbx, (%rsp)
leaq -0x90(%rbp), %rdi
leaq -0x410(%rbp), %rsi
leaq -0x3f0(%rbp), %rdx
leaq -0x610(%rbp), %rcx
leaq -0x5f0(%rbp), %r8
leaq -0x5d0(%rbp), %r9
callq 0x37ed
movq -0x7d0(%rbp), %rdi
cmpq %r15, %rdi
je 0x4df2
movq -0x7c0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x5d0(%rbp), %rdi
cmpq %r14, %rdi
leaq -0x60(%rbp), %r14
je 0x4e11
movq -0x5c0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x5f0(%rbp), %rdi
cmpq %r13, %rdi
je 0x4e2c
movq -0x5e0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x610(%rbp), %rdi
cmpq %r12, %rdi
leaq -0xc0(%rbp), %r15
leaq -0x120(%rbp), %r12
je 0x4e55
movq -0x600(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x4e77
movq -0x3e0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x4e99
movq -0x400(%rbp), %rsi
incq %rsi
callq 0x30b0
cmpb $0x1, 0x123d4(%rip)     # 0x17274
jne 0x4f0c
leaq 0xc63b(%rip), %rsi      # 0x114e4
leaq -0x70(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0x6c61
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
movq 0x120f8(%rip), %rdi     # 0x16fc0
callq 0x33f0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq %rbx, %rdi
callq 0x3260
movq %rax, %rdi
callq 0x3220
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
je 0x4f0c
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x5a0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x5b0(%rbp), %rdi
callq 0x6e46
leaq -0x580(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0xc5a8(%rip), %rsi      # 0x114ee
leaq 0xc5c6(%rip), %rdx      # 0x11513
leaq -0x590(%rbp), %rdi
callq 0x6dac
leaq -0x70(%rbp), %rdi
leaq -0x5b0(%rbp), %rsi
leaq -0x590(%rbp), %rdx
callq 0x3daf
movq -0x590(%rbp), %rdi
cmpq %r14, %rdi
je 0x4f8b
movq -0x580(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x5b0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x4fa6
movq -0x5a0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x560(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
addq %rsi, %rdx
leaq -0x570(%rbp), %rdi
callq 0x6e46
leaq -0x540(%rbp), %r14
movq %r14, -0x10(%r14)
leaq 0xc534(%rip), %rsi      # 0x11514
leaq 0xc552(%rip), %rdx      # 0x11539
leaq -0x550(%rbp), %rdi
callq 0x6dac
leaq -0x150(%rbp), %rdi
leaq -0x570(%rbp), %rsi
leaq -0x550(%rbp), %rdx
callq 0x3daf
movq -0x550(%rbp), %rdi
cmpq %r14, %rdi
je 0x5028
movq -0x540(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x570(%rbp), %rdi
cmpq %rbx, %rdi
leaq -0xa0(%rbp), %rbx
leaq -0x40(%rbp), %r13
je 0x504e
movq -0x560(%rbp), %rsi
incq %rsi
callq 0x30b0
cmpb $0x1, 0x1221f(%rip)     # 0x17274
jne 0x507a
movq 0x11f6a(%rip), %rax     # 0x16fc8
movq (%rax), %rdi
movq -0x70(%rbp), %rdx
movq -0x150(%rbp), %rcx
leaq 0xc4c7(%rip), %rsi      # 0x1153a
xorl %eax, %eax
callq 0x3110
leaq -0x50(%rbp), %rdi
movq %r13, (%rdi)
movq -0x390(%rbp), %rsi
movq -0x388(%rbp), %rdx
addq %rsi, %rdx
callq 0x6e46
leaq 0xc08c(%rip), %rsi      # 0x1112a
leaq -0x50(%rbp), %rdi
callq 0x32e0
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
leaq -0x50(%rbp), %rdi
callq 0x3320
movq %rbx, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x50e7
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x50ed
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
leaq -0xb0(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc018(%rip), %rsi      # 0x1112a
callq 0x32e0
movq %r15, -0xd0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5140
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x5147
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0xd0(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x730(%rbp), %rsi
movq -0x728(%rbp), %rdx
callq 0x3320
movq %r12, -0x130(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x51a1
movq %rdx, -0x130(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x120(%rbp)
jmp 0x51a9
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, -0x128(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
cmpq %r15, %rdi
je 0x51de
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0xb0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x51f9
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x520e
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x520(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rdx
addq %rsi, %rdx
leaq -0x530(%rbp), %rdi
callq 0x6e46
leaq -0xd0(%rbp), %rdi
leaq -0x530(%rbp), %rsi
callq 0x3736
movq -0x530(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5264
movq -0x520(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x50(%rbp), %rdi
movq %r13, (%rdi)
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
addq %rsi, %rdx
callq 0x6e46
leaq 0xbea2(%rip), %rsi      # 0x1112a
leaq -0x50(%rbp), %rdi
callq 0x32e0
movq -0x70(%rbp), %rsi
movq -0x68(%rbp), %rdx
leaq -0x50(%rbp), %rdi
callq 0x3320
leaq -0x4a0(%rbp), %rbx
movq %rbx, -0x10(%rbx)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x52cf
movq %rdx, -0x4b0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x4a0(%rbp)
jmp 0x52d5
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
leaq -0x4b0(%rbp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xb0(%rbp), %rdi
callq 0x3736
movq -0x4b0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x531a
movq -0x4a0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x532f
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x30b0
cmpb $0x1, 0x11f3e(%rip)     # 0x17274
jne 0x537e
movq 0x11c81(%rip), %rbx     # 0x16fc0
leaq 0xc219(%rip), %rsi      # 0x1155f
movl $0xd, %edx
movq %rbx, %rdi
callq 0x33f0
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x3440
movsbl %al, %esi
movq 0x11c4f(%rip), %rdi     # 0x16fc0
callq 0x3260
movq %rax, %rdi
callq 0x3220
leaq 0xc1e8(%rip), %rsi      # 0x1156d
leaq -0x7b0(%rbp), %rdi
leaq -0x70(%rbp), %rdx
callq 0x6c61
leaq 0xc2e2(%rip), %rsi      # 0x1167e
leaq -0x7b0(%rbp), %rdi
callq 0x32e0
leaq -0x280(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x53d5
movq %rdx, -0x290(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x280(%rbp)
jmp 0x53db
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x290(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
callq 0x3320
leaq -0x260(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5439
movq %rdx, -0x270(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x260(%rbp)
jmp 0x543f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x270(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc229(%rip), %rsi      # 0x1168d
callq 0x32e0
leaq -0x2a0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5496
movq %rdx, -0x2b0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x2a0(%rbp)
jmp 0x549c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x2b0(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x390(%rbp), %rsi
movq -0x388(%rbp), %rdx
callq 0x3320
leaq -0x2c0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x54fa
movq %rdx, -0x2d0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x2c0(%rbp)
jmp 0x5500
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x2d0(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc178(%rip), %rsi      # 0x1169d
callq 0x32e0
leaq -0x2e0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5557
movq %rdx, -0x2f0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x2e0(%rbp)
jmp 0x555d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x2f0(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
callq 0x3320
leaq -0x300(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x55bb
movq %rdx, -0x310(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x300(%rbp)
jmp 0x55c1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x310(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xc0c8(%rip), %rsi      # 0x116ae
callq 0x32e0
leaq -0x320(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5618
movq %rdx, -0x330(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x320(%rbp)
jmp 0x561e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x330(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
callq 0x3320
leaq -0x420(%rbp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x567c
movq %rdx, -0x430(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x420(%rbp)
jmp 0x5683
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0x430(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xbe00(%rip), %rsi      # 0x114a8
callq 0x32e0
leaq -0x340(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x56da
movq %rdx, -0x350(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x340(%rbp)
jmp 0x56e0
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x350(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
callq 0x3320
leaq -0x360(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x573e
movq %rdx, -0x370(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x360(%rbp)
jmp 0x5744
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x370(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xbf73(%rip), %rsi      # 0x116dc
callq 0x32e0
leaq -0x440(%rbp), %r12
movq %r12, -0x10(%r12)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x579c
movq %rdx, -0x450(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x440(%rbp)
jmp 0x57a4
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq -0x450(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x230(%rbp), %rsi
movq -0x228(%rbp), %rdx
callq 0x3320
leaq -0x460(%rbp), %r14
movq %r14, -0x10(%r14)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5802
movq %rdx, -0x470(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x460(%rbp)
jmp 0x5809
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq %r13, %rbx
movq 0x8(%rax), %rdx
leaq -0x470(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xbc84(%rip), %rsi      # 0x114b5
callq 0x32e0
leaq -0x480(%rbp), %r13
movq %r13, -0x10(%r13)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5863
movq %rdx, -0x490(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x480(%rbp)
jmp 0x586b
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
leaq -0x490(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
callq 0x3320
leaq -0x1a0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x58c9
movq %rdx, -0x1b0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1a0(%rbp)
jmp 0x58cf
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x1b0(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xbbc6(%rip), %rsi      # 0x114ba
callq 0x32e0
movq %rbx, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x5919
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x591f
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
leaq -0x260(%rbp), %rbx
leaq -0x1a0(%rbp), %rsi
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x1b0(%rbp), %rdi
cmpq %rsi, %rdi
je 0x595f
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x490(%rbp), %rdi
cmpq %r13, %rdi
je 0x597a
movq -0x480(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x470(%rbp), %rdi
cmpq %r14, %rdi
leaq -0x280(%rbp), %r14
je 0x599c
movq -0x460(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x450(%rbp), %rdi
cmpq %r12, %rdi
je 0x59b7
movq -0x440(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x59d9
movq -0x360(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x59fb
movq -0x340(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x430(%rbp), %rdi
cmpq %r15, %rdi
je 0x5a16
movq -0x420(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x5a38
movq -0x320(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x5a5a
movq -0x300(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x5a7c
movq -0x2e0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x5a9e
movq -0x2c0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x5ac0
movq -0x2a0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x270(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5adb
movq -0x260(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x290(%rbp), %rdi
cmpq %r14, %rdi
je 0x5af6
movq -0x280(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x7a0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5b15
movq -0x7a0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x500(%rbp), %r13
movq %r13, -0x10(%r13)
movq -0x1d0(%rbp), %rsi
movq -0x1c8(%rbp), %rdx
addq %rsi, %rdx
leaq -0x510(%rbp), %rdi
callq 0x6e46
leaq -0x3c0(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x170(%rbp), %rsi
movq -0x168(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3d0(%rbp), %rdi
callq 0x6e46
leaq -0x4e0(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x250(%rbp), %rsi
movq -0x248(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4f0(%rbp), %rdi
callq 0x6e46
leaq -0x3a0(%rbp), %rax
movq %rax, -0x10(%rax)
movq -0x190(%rbp), %rsi
movq -0x188(%rbp), %rdx
addq %rsi, %rdx
leaq -0x3b0(%rbp), %rdi
callq 0x6e46
leaq -0x4c0(%rbp), %r12
movq %r12, -0x10(%r12)
movq -0x110(%rbp), %rsi
movq -0x108(%rbp), %rdx
addq %rsi, %rdx
leaq -0x4d0(%rbp), %rdi
callq 0x6e46
leaq -0x780(%rbp), %r14
movq %r14, -0x10(%r14)
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
addq %rsi, %rdx
leaq -0x790(%rbp), %rbx
movq %rbx, %rdi
callq 0x6e46
movq %rbx, (%rsp)
leaq -0x1b0(%rbp), %rdi
leaq -0x510(%rbp), %rsi
leaq -0x3d0(%rbp), %rdx
leaq -0x4f0(%rbp), %rcx
leaq -0x3b0(%rbp), %r8
leaq -0x4d0(%rbp), %r9
callq 0x37ed
leaq -0x90(%rbp), %rdi
leaq -0x1b0(%rbp), %rbx
movq %rbx, %rsi
callq 0x3250
movq (%rbx), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x5c6a
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x790(%rbp), %rdi
cmpq %r14, %rdi
movq %r13, %rbx
je 0x5c88
movq -0x780(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x4d0(%rbp), %rdi
cmpq %r12, %rdi
je 0x5ca3
movq -0x4c0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x5cc5
movq -0x3a0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x4f0(%rbp), %rdi
cmpq %r15, %rdi
leaq -0x200(%rbp), %r14
leaq -0xe0(%rbp), %r15
je 0x5cee
movq -0x4e0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
leaq -0x100(%rbp), %r12
leaq -0x220(%rbp), %r13
je 0x5d1e
movq -0x3c0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x510(%rbp), %rdi
cmpq %rbx, %rdi
je 0x5d39
movq -0x500(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x5d52
movq -0x40(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x5d74
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x5d96
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x5db8
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x5dda
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x5df3
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x5e0f
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x5e31
movq -0x1e0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x7e0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5e50
movq -0x7e0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0x5e72
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
cmpq %rax, %rdi
je 0x5e94
movq -0x1c0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x720(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5eb3
movq -0x720(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x380(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5ed2
movq -0x380(%rbp), %rsi
incq %rsi
callq 0x30b0
xorl %ebx, %ebx
movq -0xf0(%rbp), %rdi
cmpq %r15, %rdi
je 0x5eef
movq -0xe0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x210(%rbp), %rdi
cmpq %r14, %rdi
je 0x5f0a
movq -0x200(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x800(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x5f29
movq -0x800(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x5f4b
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x250(%rbp), %rdi
leaq -0x240(%rbp), %rax
cmpq %rax, %rdi
je 0x5f6d
movq -0x240(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x230(%rbp), %rdi
cmpq %r13, %rdi
je 0x5f88
movq -0x220(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x110(%rbp), %rdi
cmpq %r12, %rdi
je 0x5fa3
movq -0x100(%rbp), %rsi
incq %rsi
callq 0x30b0
testl %ebx, %ebx
jne 0x5fa9
xorl %ebx, %ebx
movl %ebx, %eax
addq $0x7f8, %rsp            # imm = 0x7F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xb2cd(%rip), %rdi      # 0x11291
callq 0x3140
movl $0x1, %ebx
jmp 0x5ed4
jmp 0x64bb
movq %rax, -0x30(%rbp)
jmp 0x6b68
jmp 0x6597
movq %rax, -0x30(%rbp)
movq -0x790(%rbp), %rdi
cmpq %r14, %rdi
je 0x600b
movq -0x780(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x600b
movq %rax, -0x30(%rbp)
movq -0x4d0(%rbp), %rdi
cmpq %r12, %rdi
je 0x602c
movq -0x4c0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x602c
movq %rax, -0x30(%rbp)
movq -0x3b0(%rbp), %rdi
leaq -0x3a0(%rbp), %rax
cmpq %rax, %rdi
je 0x6054
movq -0x3a0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6054
movq %rax, -0x30(%rbp)
movq -0x4f0(%rbp), %rdi
cmpq %r15, %rdi
je 0x6075
movq -0x4e0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6075
movq %rax, -0x30(%rbp)
movq -0x3d0(%rbp), %rdi
leaq -0x3c0(%rbp), %rax
cmpq %rax, %rdi
je 0x609d
movq -0x3c0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x609d
movq %rax, -0x30(%rbp)
movq -0x510(%rbp), %rdi
cmpq %r13, %rdi
je 0x60be
movq -0x500(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x60be
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x68c2
movq -0x40(%rbp), %rsi
jmp 0x62e7
movq %rax, -0x30(%rbp)
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x6104
movq -0x1a0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6104
movq %rax, -0x30(%rbp)
movq -0x490(%rbp), %rdi
cmpq %r13, %rdi
je 0x6125
movq -0x480(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6125
movq %rax, -0x30(%rbp)
movq -0x470(%rbp), %rdi
cmpq %r14, %rdi
je 0x6146
movq -0x460(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6146
movq %rax, -0x30(%rbp)
movq -0x450(%rbp), %rdi
cmpq %r12, %rdi
je 0x6167
movq -0x440(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6167
movq %rax, -0x30(%rbp)
movq -0x370(%rbp), %rdi
leaq -0x360(%rbp), %rax
cmpq %rax, %rdi
je 0x618f
movq -0x360(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x618f
movq %rax, -0x30(%rbp)
movq -0x350(%rbp), %rdi
leaq -0x340(%rbp), %rax
cmpq %rax, %rdi
je 0x61b7
movq -0x340(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x61b7
movq %rax, -0x30(%rbp)
movq -0x430(%rbp), %rdi
cmpq %r15, %rdi
je 0x61d8
movq -0x420(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x61d8
movq %rax, -0x30(%rbp)
movq -0x330(%rbp), %rdi
leaq -0x320(%rbp), %rax
cmpq %rax, %rdi
je 0x6200
movq -0x320(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6200
movq %rax, -0x30(%rbp)
movq -0x310(%rbp), %rdi
leaq -0x300(%rbp), %rax
cmpq %rax, %rdi
je 0x6222
movq -0x300(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x2f0(%rbp), %rdi
leaq -0x2e0(%rbp), %rax
cmpq %rax, %rdi
je 0x6244
movq -0x2e0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x2d0(%rbp), %rdi
leaq -0x2c0(%rbp), %rax
cmpq %rax, %rdi
je 0x6266
movq -0x2c0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x6288
movq -0x2a0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x270(%rbp), %rdi
leaq -0x260(%rbp), %rax
cmpq %rax, %rdi
je 0x62aa
movq -0x260(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x62cc
movq -0x280(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x7a0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x68c2
movq -0x7a0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x68c2
movq %rax, -0x30(%rbp)
jmp 0x6222
movq %rax, -0x30(%rbp)
jmp 0x6244
movq %rax, -0x30(%rbp)
jmp 0x6266
movq %rax, -0x30(%rbp)
jmp 0x6288
movq %rax, -0x30(%rbp)
jmp 0x62aa
movq %rax, -0x30(%rbp)
jmp 0x62cc
jmp 0x68be
movq %rax, -0x30(%rbp)
movq -0x4b0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x634e
movq -0x4a0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x634e
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x68e4
jmp 0x6372
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x68e4
movq -0x40(%rbp), %rsi
jmp 0x68dc
movq %rax, -0x30(%rbp)
jmp 0x68e4
movq %rax, -0x30(%rbp)
movq -0x530(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6906
movq -0x520(%rbp), %rsi
jmp 0x68fe
movq %rax, -0x30(%rbp)
jmp 0x6906
movq %rax, -0x30(%rbp)
movq -0xd0(%rbp), %rdi
cmpq %r15, %rdi
je 0x63d2
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x63d2
movq %rax, -0x30(%rbp)
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x63fa
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x63fa
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x6928
jmp 0x641e
movq %rax, -0x30(%rbp)
movq -0x50(%rbp), %rdi
cmpq %r13, %rdi
je 0x6928
movq -0x40(%rbp), %rsi
jmp 0x6920
movq %rax, -0x30(%rbp)
jmp 0x6928
movq %rax, -0x30(%rbp)
movq -0x550(%rbp), %rdi
cmpq %r14, %rdi
je 0x6455
movq -0x540(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6455
movq %rax, -0x30(%rbp)
movq -0x570(%rbp), %rdi
cmpq %rbx, %rdi
je 0x694a
movq -0x560(%rbp), %rsi
jmp 0x6942
movq %rax, -0x30(%rbp)
jmp 0x694a
movq %rax, -0x30(%rbp)
movq -0x590(%rbp), %rdi
cmpq %r14, %rdi
je 0x649f
movq -0x580(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x649f
movq %rax, -0x30(%rbp)
movq -0x5b0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6963
movq -0x5a0(%rbp), %rsi
jmp 0x695b
movq %rax, -0x30(%rbp)
jmp 0x6963
movq %rax, -0x30(%rbp)
movq -0x7d0(%rbp), %rdi
cmpq %r15, %rdi
je 0x64e9
movq -0x7c0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x64e9
movq %rax, -0x30(%rbp)
movq -0x5d0(%rbp), %rdi
cmpq %r14, %rdi
je 0x650a
movq -0x5c0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x650a
movq %rax, -0x30(%rbp)
movq -0x5f0(%rbp), %rdi
cmpq %r13, %rdi
je 0x652b
movq -0x5e0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x652b
movq %rax, -0x30(%rbp)
movq -0x610(%rbp), %rdi
cmpq %r12, %rdi
je 0x654c
movq -0x600(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x654c
movq %rax, -0x30(%rbp)
movq -0x3f0(%rbp), %rdi
leaq -0x3e0(%rbp), %rax
cmpq %rax, %rdi
je 0x6574
movq -0x3e0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6574
movq %rax, -0x30(%rbp)
movq -0x410(%rbp), %rdi
leaq -0x400(%rbp), %rax
cmpq %rax, %rdi
je 0x697f
movq -0x400(%rbp), %rsi
jmp 0x6977
movq %rax, -0x30(%rbp)
jmp 0x697f
movq %rax, -0x30(%rbp)
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x65c2
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x65c2
movq %rax, -0x30(%rbp)
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x65e1
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x65e1
movq %rax, -0x30(%rbp)
movq -0x150(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6602
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6602
movq %rax, -0x30(%rbp)
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x662a
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x662a
movq %rax, -0x30(%rbp)
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x6652
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6652
movq %rax, -0x30(%rbp)
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x667a
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x667a
movq %rax, -0x30(%rbp)
leaq -0x40(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x69a1
movq -0x40(%rbp), %rsi
jmp 0x6999
jmp 0x6b82
movq %rax, -0x30(%rbp)
movq -0x630(%rbp), %rdi
cmpq %r14, %rdi
je 0x66be
movq -0x620(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x66be
movq %rax, -0x30(%rbp)
movq -0x650(%rbp), %rdi
cmpq %rbx, %rdi
je 0x69c0
movq -0x640(%rbp), %rsi
jmp 0x69b8
movq %rax, -0x30(%rbp)
jmp 0x69c0
movq %rax, -0x30(%rbp)
movq -0x670(%rbp), %rdi
cmpq %r14, %rdi
je 0x6708
movq -0x660(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6708
movq %rax, -0x30(%rbp)
movq -0x690(%rbp), %rdi
cmpq %rbx, %rdi
je 0x69e2
movq -0x680(%rbp), %rsi
jmp 0x69da
movq %rax, -0x30(%rbp)
jmp 0x69e2
movq %rax, -0x30(%rbp)
leaq -0x160(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6756
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6756
movq %rax, -0x30(%rbp)
movq -0x6b0(%rbp), %rdi
cmpq %r14, %rdi
je 0x6777
movq -0x6a0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x6777
movq %rax, -0x30(%rbp)
movq -0x6d0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6a04
movq -0x6c0(%rbp), %rsi
jmp 0x69fc
movq %rax, -0x30(%rbp)
jmp 0x6a04
movq %rax, -0x30(%rbp)
movq -0x6f0(%rbp), %rdi
cmpq %r14, %rdi
je 0x67c1
movq -0x6e0(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x67c1
movq %rax, -0x30(%rbp)
movq -0x710(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6a23
movq -0x700(%rbp), %rsi
jmp 0x6a1b
movq %rax, -0x30(%rbp)
jmp 0x6a23
movq %rax, -0x30(%rbp)
movq -0x750(%rbp), %rdi
cmpq %r14, %rdi
je 0x680b
movq -0x740(%rbp), %rsi
incq %rsi
callq 0x30b0
jmp 0x680b
movq %rax, -0x30(%rbp)
movq -0x770(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6a42
movq -0x760(%rbp), %rsi
jmp 0x6a3a
movq %rax, -0x30(%rbp)
jmp 0x6a42
movq %rax, -0x30(%rbp)
cmpl $0x1, %edx
jne 0x6a42
movq -0x30(%rbp), %rdi
callq 0x3070
leaq 0xa9e0(%rip), %rdi      # 0x1122d
callq 0x3140
leaq -0x100(%rbp), %r12
leaq -0x220(%rbp), %r13
leaq -0x200(%rbp), %r14
leaq -0xe0(%rbp), %r15
callq 0x3340
jmp 0x4411
jmp 0x6827
movq %rax, -0x30(%rbp)
jmp 0x6a64
movq %rax, -0x30(%rbp)
leaq -0xe0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a86
movq -0xe0(%rbp), %rsi
jmp 0x6a7e
movq %rax, -0x30(%rbp)
jmp 0x6a86
jmp 0x6b8b
movq %rax, -0x30(%rbp)
jmp 0x6ac7
movq %rax, -0x30(%rbp)
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x68e4
movq -0xa0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x6906
movq -0xc0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x6928
movq -0x120(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x694a
movq -0x140(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6963
movq -0x60(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x697f
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x69a1
movq -0x1e0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x7e0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x69c0
movq -0x7e0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x170(%rbp), %rdi
leaq -0x160(%rbp), %rax
cmpq %rax, %rdi
je 0x69e2
movq -0x160(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
cmpq %rax, %rdi
je 0x6a04
movq -0x1c0(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x720(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a23
movq -0x720(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x380(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6a42
movq -0x380(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x6a64
movq -0xe0(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x210(%rbp), %rdi
leaq -0x200(%rbp), %rax
cmpq %rax, %rdi
je 0x6a86
movq -0x200(%rbp), %rsi
incq %rsi
callq 0x30b0
leaq -0x800(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6aa5
movq -0x800(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x6ac7
movq -0x180(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x250(%rbp), %rdi
leaq -0x240(%rbp), %rax
cmpq %rax, %rdi
je 0x6ae9
movq -0x240(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x230(%rbp), %rdi
leaq -0x220(%rbp), %rax
cmpq %rax, %rdi
je 0x6b0b
movq -0x220(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x6b2d
movq -0x100(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x30(%rbp), %rdi
callq 0x32c0
movq %rax, -0x30(%rbp)
movq -0x70(%rbp), %rdi
cmpq %r14, %rdi
jne 0x6957
jmp 0x6963
movq %rax, -0x30(%rbp)
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x6b68
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x30b0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x697f
movq -0x60(%rbp), %rsi
jmp 0x6977
movq %rax, -0x30(%rbp)
jmp 0x69a1
movq %rax, -0x30(%rbp)
jmp 0x6aa5