417e2e:	8b ce                	mov    %esi,%ecx
417e30:	53                   	push   %ebx
417e31:	ff 15 78 64 42 00    	call   *0x426478
417e37:	ff d6                	call   *%esi
417e39:	33 db                	xor    %ebx,%ebx
417e3b:	bf 28 5e 42 00       	mov    $0x425e28,%edi
417e40:	8d 4b 01             	lea    0x1(%ebx),%ecx
417e43:	33 c0                	xor    %eax,%eax
417e45:	f0 0f b1 0f          	lock cmpxchg %ecx,(%edi)
417e49:	85 c0                	test   %eax,%eax
417e4b:	75 f3                	jne    0x417e40
417e4d:	a1 24 5e 42 00       	mov    0x425e24,%eax
417e52:	6a 00                	push   $0x0
417e54:	5b                   	pop    %ebx
417e55:	85 c0                	test   %eax,%eax
417e57:	7e 49                	jle    0x417ea2
417e59:	83 e8 01             	sub    $0x1,%eax
417e5c:	a3 24 5e 42 00       	mov    %eax,0x425e24
417e61:	75 3f                	jne    0x417ea2
417e63:	8b f3                	mov    %ebx,%esi
417e65:	8b 86 30 59 42 00    	mov    0x425930(%esi),%eax
417e6b:	85 c0                	test   %eax,%eax
417e6d:	74 07                	je     0x417e76
417e6f:	50                   	push   %eax
417e70:	ff 15 ac 60 42 00    	call   *0x4260ac
417e76:	83 c6 10             	add    $0x10,%esi
417e79:	83 fe 40             	cmp    $0x40,%esi
417e7c:	72 e7                	jb     0x417e65
417e7e:	6a 40                	push   $0x40
417e80:	53                   	push   %ebx
417e81:	68 30 59 42 00       	push   $0x425930
417e86:	e8 bd a9 00 00       	call   0x422848
417e8b:	83 c4 0c             	add    $0xc,%esp
417e8e:	be 90 10 40 00       	mov    $0x401090,%esi
417e93:	bf 00 40 42 00       	mov    $0x424000,%edi
417e98:	6a 2e                	push   $0x2e
417e9a:	59                   	pop    %ecx
417e9b:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
417e9d:	bf 28 5e 42 00       	mov    $0x425e28,%edi
417ea2:	33 c0                	xor    %eax,%eax
417ea4:	87 07                	xchg   %eax,(%edi)
417ea6:	8d 8d b0 f3 ff ff    	lea    -0xc50(%ebp),%ecx
417eac:	e8 b3 70 00 00       	call   0x41ef64
417eb1:	8b 85 7c f4 ff ff    	mov    -0xb84(%ebp),%eax
417eb7:	85 c0                	test   %eax,%eax
417eb9:	0f 88 eb 1b 00 00    	js     0x419aaa
417ebf:	8b 85 f4 fb ff ff    	mov    -0x40c(%ebp),%eax
417ec5:	8b bd f0 fb ff ff    	mov    -0x410(%ebp),%edi
417ecb:	6a 54                	push   $0x54
417ecd:	89 85 6c f4 ff ff    	mov    %eax,-0xb94(%ebp)
417ed3:	89 85 14 f3 ff ff    	mov    %eax,-0xcec(%ebp)
417ed9:	8d 85 98 f6 ff ff    	lea    -0x968(%ebp),%eax
417edf:	53                   	push   %ebx
417ee0:	50                   	push   %eax
417ee1:	89 bd 10 f3 ff ff    	mov    %edi,-0xcf0(%ebp)
417ee7:	e8 5c a9 00 00       	call   0x422848
417eec:	8b 35 28 40 42 00    	mov    0x424028,%esi
417ef2:	83 c4 0c             	add    $0xc,%esp
417ef5:	33 c0                	xor    %eax,%eax
417ef7:	8b ce                	mov    %esi,%ecx
417ef9:	40                   	inc    %eax
417efa:	89 85 74 f4 ff ff    	mov    %eax,-0xb8c(%ebp)
417f00:	6a 07                	push   $0x7
417f02:	ff b5 3c f4 ff ff    	push   -0xbc4(%ebp)
417f08:	ff 15 78 64 42 00    	call   *0x426478
417f0e:	ff d6                	call   *%esi
417f10:	85 c0                	test   %eax,%eax
417f12:	74 45                	je     0x417f59
417f14:	8b 35 34 40 42 00    	mov    0x424034,%esi
417f1a:	8d 8d 98 f6 ff ff    	lea    -0x968(%ebp),%ecx
417f20:	51                   	push   %ecx
417f21:	6a 54                	push   $0x54
417f23:	50                   	push   %eax
417f24:	8b ce                	mov    %esi,%ecx
417f26:	ff 15 78 64 42 00    	call   *0x426478
417f2c:	ff d6                	call   *%esi
417f2e:	85 c0                	test   %eax,%eax
417f30:	74 27                	je     0x417f59
417f32:	6a 20                	push   $0x20
417f34:	58                   	pop    %eax
417f35:	66 39 85 aa f6 ff ff 	cmp    %ax,-0x956(%ebp)
417f3c:	75 1b                	jne    0x417f59
417f3e:	83 bd ac f6 ff ff 00 	cmpl   $0x0,-0x954(%ebp)
417f45:	74 12                	je     0x417f59
417f47:	83 bd 9c f6 ff ff 00 	cmpl   $0x0,-0x964(%ebp)
417f4e:	7e 09                	jle    0x417f59
417f50:	83 bd a0 f6 ff ff 00 	cmpl   $0x0,-0x960(%ebp)
417f57:	7f 0f                	jg     0x417f68
417f59:	83 bd 38 f4 ff ff 01 	cmpl   $0x1,-0xbc8(%ebp)
417f60:	89 9d 74 f4 ff ff    	mov    %ebx,-0xb8c(%ebp)
417f66:	75 74                	jne    0x417fdc
417f68:	ff b5 6c f4 ff ff    	push   -0xb94(%ebp)
417f6e:	8b 35 a8 40 42 00    	mov    0x4240a8,%esi
417f74:	8d 85 14 f7 ff ff    	lea    -0x8ec(%ebp),%eax
417f7a:	57                   	push   %edi
417f7b:	50                   	push   %eax
417f7c:	8b ce                	mov    %esi,%ecx
417f7e:	ff 15 78 64 42 00    	call   *0x426478
417f84:	ff d6                	call   *%esi
417f86:	ff b5 6c f4 ff ff    	push   -0xb94(%ebp)
417f8c:	8b 35 a8 40 42 00    	mov    0x4240a8,%esi
417f92:	8d 85 24 f7 ff ff    	lea    -0x8dc(%ebp),%eax
417f98:	57                   	push   %edi
417f99:	50                   	push   %eax
417f9a:	8b ce                	mov    %esi,%ecx
417f9c:	ff 15 78 64 42 00    	call   *0x426478
417fa2:	ff d6                	call   *%esi
417fa4:	8b bd 38 f4 ff ff    	mov    -0xbc8(%ebp),%edi
417faa:	83 ff 01             	cmp    $0x1,%edi
417fad:	75 33                	jne    0x417fe2
417faf:	8b 85 f4 f6 ff ff    	mov    -0x90c(%ebp),%eax
417fb5:	8b 35 14 40 42 00    	mov    0x424014,%esi
417fbb:	f7 d8                	neg    %eax
417fbd:	8b ce                	mov    %esi,%ecx
417fbf:	1b c0                	sbb    %eax,%eax
417fc1:	25 e0 98 4d ff       	and    $0xff4d98e0,%eax
417fc6:	05 20 67 b2 00       	add    $0xb26720,%eax
417fcb:	50                   	push   %eax
417fcc:	ff 15 78 64 42 00    	call   *0x426478
417fd2:	ff d6                	call   *%esi
417fd4:	89 85 28 f4 ff ff    	mov    %eax,-0xbd8(%ebp)
417fda:	eb 06                	jmp    0x417fe2
417fdc:	8b bd 38 f4 ff ff    	mov    -0xbc8(%ebp),%edi
417fe2:	8b 35 40 40 42 00    	mov    0x424040,%esi
417fe8:	8b ce                	mov    %esi,%ecx
417fea:	6a 01                	push   $0x1
417fec:	ff b5 3c f4 ff ff    	push   -0xbc4(%ebp)
417ff2:	ff 15 78 64 42 00    	call   *0x426478
417ff8:	ff d6                	call   *%esi
417ffa:	83 bd f0 f6 ff ff 00 	cmpl   $0x0,-0x910(%ebp)
418001:	89 85 6c f4 ff ff    	mov    %eax,-0xb94(%ebp)
418007:	c7 85 54 f4 ff ff 10 	movl   $0x810,-0xbac(%ebp)
41800e:	08 00 00
418011:	74 0a                	je     0x41801d
418013:	c7 85 54 f4 ff ff 12 	movl   $0x20812,-0xbac(%ebp)
41801a:	08 02 00
41801d:	83 bd 74 f4 ff ff 00 	cmpl   $0x0,-0xb8c(%ebp)
418024:	0f 84 26 0b 00 00    	je     0x418b50
41802a:	8b 85 f4 f6 ff ff    	mov    -0x90c(%ebp),%eax
418030:	8b b5 f8 f6 ff ff    	mov    -0x908(%ebp),%esi
418036:	89 85 74 f4 ff ff    	mov    %eax,-0xb8c(%ebp)
41803c:	8b 85 04 f7 ff ff    	mov    -0x8fc(%ebp),%eax
418042:	6a 54                	push   $0x54
418044:	89 85 64 f4 ff ff    	mov    %eax,-0xb9c(%ebp)
41804a:	8d 85 40 f6 ff ff    	lea    -0x9c0(%ebp),%eax
418050:	53                   	push   %ebx
418051:	50                   	push   %eax
418052:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
418058:	e8 eb a7 00 00       	call   0x422848
41805d:	83 c4 0c             	add    $0xc,%esp
418060:	8d 85 e8 f5 ff ff    	lea    -0xa18(%ebp),%eax
418066:	6a 54                	push   $0x54
418068:	53                   	push   %ebx
418069:	50                   	push   %eax
41806a:	e8 d9 a7 00 00       	call   0x422848
41806f:	83 c4 0c             	add    $0xc,%esp
418072:	89 9d 5c f4 ff ff    	mov    %ebx,-0xba4(%ebp)
418078:	8d 85 8c fa ff ff    	lea    -0x574(%ebp),%eax
41807e:	89 9d 7c f4 ff ff    	mov    %ebx,-0xb84(%ebp)
418084:	89 9d 60 f4 ff ff    	mov    %ebx,-0xba0(%ebp)
41808a:	89 9d 84 f4 ff ff    	mov    %ebx,-0xb7c(%ebp)
418090:	6a 2c                	push   $0x2c
418092:	53                   	push   %ebx
418093:	50                   	push   %eax
418094:	e8 af a7 00 00       	call   0x422848
418099:	33 c0                	xor    %eax,%eax
41809b:	8d bd d0 fb ff ff    	lea    -0x430(%ebp),%edi
4180a1:	ab                   	stos   %eax,%es:(%edi)
4180a2:	83 c4 0c             	add    $0xc,%esp
4180a5:	ab                   	stos   %eax,%es:(%edi)
4180a6:	ab                   	stos   %eax,%es:(%edi)
4180a7:	ab                   	stos   %eax,%es:(%edi)
4180a8:	85 f6                	test   %esi,%esi
4180aa:	0f 84 da 19 00 00    	je     0x419a8a
4180b0:	8b 35 28 40 42 00    	mov    0x424028,%esi
4180b6:	8b ce                	mov    %esi,%ecx
4180b8:	8b bd 3c f4 ff ff    	mov    -0xbc4(%ebp),%edi
4180be:	6a 07                	push   $0x7
4180c0:	57                   	push   %edi
4180c1:	ff 15 78 64 42 00    	call   *0x426478
4180c7:	ff d6                	call   *%esi
4180c9:	85 c0                	test   %eax,%eax
4180cb:	0f 84 11 0b 00 00    	je     0x418be2
4180d1:	8b 35 34 40 42 00    	mov    0x424034,%esi
4180d7:	8d 8d 40 f6 ff ff    	lea    -0x9c0(%ebp),%ecx
4180dd:	51                   	push   %ecx
4180de:	6a 54                	push   $0x54
4180e0:	50                   	push   %eax
4180e1:	8b ce                	mov    %esi,%ecx
4180e3:	ff 15 78 64 42 00    	call   *0x426478
4180e9:	ff d6                	call   *%esi
4180eb:	85 c0                	test   %eax,%eax
4180ed:	74 24                	je     0x418113
4180ef:	8b 85 54 f6 ff ff    	mov    -0x9ac(%ebp),%eax
4180f5:	89 85 5c f4 ff ff    	mov    %eax,-0xba4(%ebp)
4180fb:	8b 85 44 f6 ff ff    	mov    -0x9bc(%ebp),%eax
418101:	89 85 60 f4 ff ff    	mov    %eax,-0xba0(%ebp)
418107:	8b 85 48 f6 ff ff    	mov    -0x9b8(%ebp),%eax
41810d:	89 85 84 f4 ff ff    	mov    %eax,-0xb7c(%ebp)
418113:	8b 35 08 40 42 00    	mov    0x424008,%esi
418119:	8b ce                	mov    %esi,%ecx
41811b:	57                   	push   %edi
41811c:	ff 15 78 64 42 00    	call   *0x426478
418122:	ff d6                	call   *%esi
418124:	8b f8                	mov    %eax,%edi
418126:	89 bd 80 f4 ff ff    	mov    %edi,-0xb80(%ebp)
41812c:	85 ff                	test   %edi,%edi
41812e:	0f 84 ae 0a 00 00    	je     0x418be2
418134:	8b 85 1c f7 ff ff    	mov    -0x8e4(%ebp),%eax
41813a:	2b 85 14 f7 ff ff    	sub    -0x8ec(%ebp),%eax
418140:	8b 35 0c 40 42 00    	mov    0x42400c,%esi
418146:	8b ce                	mov    %esi,%ecx
418148:	89 85 90 fa ff ff    	mov    %eax,-0x570(%ebp)
41814e:	8b 85 18 f7 ff ff    	mov    -0x8e8(%ebp),%eax
418154:	2b 85 20 f7 ff ff    	sub    -0x8e0(%ebp),%eax
41815a:	89 85 94 fa ff ff    	mov    %eax,-0x56c(%ebp)
418160:	33 c0                	xor    %eax,%eax
418162:	6a 20                	push   $0x20
418164:	40                   	inc    %eax
418165:	89 9d d8 f3 ff ff    	mov    %ebx,-0xc28(%ebp)
41816b:	66 89 85 98 fa ff ff 	mov    %ax,-0x568(%ebp)
418172:	58                   	pop    %eax
418173:	53                   	push   %ebx
418174:	53                   	push   %ebx
418175:	66 89 85 9a fa ff ff 	mov    %ax,-0x566(%ebp)
41817c:	8d 85 d8 f3 ff ff    	lea    -0xc28(%ebp),%eax
418182:	50                   	push   %eax
418183:	53                   	push   %ebx
418184:	8d 85 8c fa ff ff    	lea    -0x574(%ebp),%eax
41818a:	89 9d 70 f4 ff ff    	mov    %ebx,-0xb90(%ebp)
418190:	50                   	push   %eax
418191:	57                   	push   %edi
418192:	89 9d 9c fa ff ff    	mov    %ebx,-0x564(%ebp)
418198:	89 9d a0 fa ff ff    	mov    %ebx,-0x560(%ebp)
41819e:	89 9d a4 fa ff ff    	mov    %ebx,-0x55c(%ebp)
4181a4:	89 9d a8 fa ff ff    	mov    %ebx,-0x558(%ebp)
4181aa:	89 9d ac fa ff ff    	mov    %ebx,-0x554(%ebp)
4181b0:	89 9d b0 fa ff ff    	mov    %ebx,-0x550(%ebp)
4181b6:	89 9d b4 fa ff ff    	mov    %ebx,-0x54c(%ebp)
4181bc:	c7 85 8c fa ff ff 28 	movl   $0x28,-0x574(%ebp)
4181c3:	00 00 00
4181c6:	ff 15 78 64 42 00    	call   *0x426478
4181cc:	ff d6                	call   *%esi
4181ce:	89 85 40 f4 ff ff    	mov    %eax,-0xbc0(%ebp)
4181d4:	85 c0                	test   %eax,%eax
4181d6:	75 35                	jne    0x41820d
4181d8:	ff 15 70 61 42 00    	call   *0x426170
4181de:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
4181e4:	85 c0                	test   %eax,%eax
4181e6:	7e 10                	jle    0x4181f8
4181e8:	0f b7 c0             	movzwl %ax,%eax
4181eb:	0d 00 00 07 80       	or     $0x80070000,%eax
4181f0:	89 85 70 f4 ff ff    	mov    %eax,-0xb90(%ebp)
4181f6:	85 c0                	test   %eax,%eax
4181f8:	0f 88 9e 03 00 00    	js     0x41859c
4181fe:	c7 85 70 f4 ff ff 05 	movl   $0x80004005,-0xb90(%ebp)
418205:	40 00 80
418208:	e9 8f 03 00 00       	jmp    0x41859c
41820d:	8b 35 34 40 42 00    	mov    0x424034,%esi
418213:	8d 8d e8 f5 ff ff    	lea    -0xa18(%ebp),%ecx
418219:	51                   	push   %ecx
41821a:	6a 54                	push   $0x54
41821c:	50                   	push   %eax
41821d:	8b ce                	mov    %esi,%ecx
41821f:	ff 15 78 64 42 00    	call   *0x426478
418225:	ff d6                	call   *%esi
418227:	85 c0                	test   %eax,%eax
418229:	74 0c                	je     0x418237
41822b:	8b 85 fc f5 ff ff    	mov    -0xa04(%ebp),%eax
418231:	89 85 7c f4 ff ff    	mov    %eax,-0xb84(%ebp)
418237:	8b 85 1c f7 ff ff    	mov    -0x8e4(%ebp),%eax
41823d:	2b 85 14 f7 ff ff    	sub    -0x8ec(%ebp),%eax
418243:	ff b5 40 f4 ff ff    	push   -0xbc0(%ebp)
418249:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
41824f:	8b ce                	mov    %esi,%ecx
418251:	89 85 d8 fb ff ff    	mov    %eax,-0x428(%ebp)
418257:	8b 85 20 f7 ff ff    	mov    -0x8e0(%ebp),%eax
41825d:	2b 85 18 f7 ff ff    	sub    -0x8e8(%ebp),%eax
418263:	57                   	push   %edi
418264:	89 85 dc fb ff ff    	mov    %eax,-0x424(%ebp)
41826a:	ff 15 78 64 42 00    	call   *0x426478
418270:	ff d6                	call   *%esi
418272:	8b 35 40 40 42 00    	mov    0x424040,%esi
418278:	33 c0                	xor    %eax,%eax
41827a:	40                   	inc    %eax
41827b:	8b ce                	mov    %esi,%ecx
41827d:	50                   	push   %eax
41827e:	57                   	push   %edi
41827f:	ff 15 78 64 42 00    	call   *0x426478
418285:	ff d6                	call   *%esi
418287:	ff b5 64 f4 ff ff    	push   -0xb9c(%ebp)
41828d:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
418293:	8b ce                	mov    %esi,%ecx
418295:	57                   	push   %edi
418296:	ff 15 78 64 42 00    	call   *0x426478
41829c:	ff d6                	call   *%esi
41829e:	8b 35 38 40 42 00    	mov    0x424038,%esi
4182a4:	8b ce                	mov    %esi,%ecx
4182a6:	8b 3d 74 40 42 00    	mov    0x424074,%edi
4182ac:	53                   	push   %ebx
4182ad:	89 85 64 f4 ff ff    	mov    %eax,-0xb9c(%ebp)
4182b3:	ff 15 78 64 42 00    	call   *0x426478
4182b9:	ff d6                	call   *%esi
4182bb:	50                   	push   %eax
4182bc:	8d 85 d0 fb ff ff    	lea    -0x430(%ebp),%eax
4182c2:	8b cf                	mov    %edi,%ecx
4182c4:	50                   	push   %eax
4182c5:	ff b5 80 f4 ff ff    	push   -0xb80(%ebp)
4182cb:	ff 15 78 64 42 00    	call   *0x426478
4182d1:	ff d7                	call   *%edi
4182d3:	8b bd 80 f4 ff ff    	mov    -0xb80(%ebp),%edi
4182d9:	8d 85 d0 fb ff ff    	lea    -0x430(%ebp),%eax
4182df:	8b 35 6c 40 42 00    	mov    0x42406c,%esi
4182e5:	8b ce                	mov    %esi,%ecx
4182e7:	53                   	push   %ebx
4182e8:	ff b5 54 f4 ff ff    	push   -0xbac(%ebp)
4182ee:	50                   	push   %eax
4182ef:	6a ff                	push   $0xffffffff
4182f1:	ff b5 78 f4 ff ff    	push   -0xb88(%ebp)
4182f7:	57                   	push   %edi
4182f8:	ff 15 78 64 42 00    	call   *0x426478
4182fe:	ff d6                	call   *%esi
418300:	33 c0                	xor    %eax,%eax
418302:	40                   	inc    %eax
418303:	39 85 38 f4 ff ff    	cmp    %eax,-0xbc8(%ebp)
418309:	75 2f                	jne    0x41833a
41830b:	83 bd 74 f4 ff ff 00 	cmpl   $0x0,-0xb8c(%ebp)
418312:	74 1a                	je     0x41832e
418314:	8b 35 8c 40 42 00    	mov    0x42408c,%esi
41831a:	8b ce                	mov    %esi,%ecx
41831c:	6a 08                	push   $0x8
41831e:	ff 15 78 64 42 00    	call   *0x426478
418324:	ff d6                	call   *%esi
418326:	89 85 74 f4 ff ff    	mov    %eax,-0xb8c(%ebp)
41832c:	eb 16                	jmp    0x418344
41832e:	c7 85 74 f4 ff ff ff 	movl   $0xffffff,-0xb8c(%ebp)
418335:	ff ff 00
418338:	eb 0a                	jmp    0x418344
41833a:	c7 85 74 f4 ff ff a8 	movl   $0xffa8a8a8,-0xb8c(%ebp)
418341:	a8 a8 ff
418344:	8b b5 14 f7 ff ff    	mov    -0x8ec(%ebp),%esi
41834a:	8b cb                	mov    %ebx,%ecx
41834c:	8b 85 18 f7 ff ff    	mov    -0x8e8(%ebp),%eax
418352:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
418358:	89 9d 48 f4 ff ff    	mov    %ebx,-0xbb8(%ebp)
41835e:	85 f6                	test   %esi,%esi
418360:	79 12                	jns    0x418374
418362:	8b d6                	mov    %esi,%edx
418364:	89 9d 78 f4 ff ff    	mov    %ebx,-0xb88(%ebp)
41836a:	f7 da                	neg    %edx