417e8e:	33 ff                	xor    %edi,%edi
417e90:	85 c0                	test   %eax,%eax
417e92:	74 71                	je     0x417f05
417e94:	8b 46 08             	mov    0x8(%esi),%eax
417e97:	8b 04 b8             	mov    (%eax,%edi,4),%eax
417e9a:	8d 04 80             	lea    (%eax,%eax,4),%eax
417e9d:	8b 0c 85 8c f0 44 00 	mov    0x44f08c(,%eax,4),%ecx
417ea4:	85 c9                	test   %ecx,%ecx
417ea6:	74 03                	je     0x417eab
417ea8:	51                   	push   %ecx
417ea9:	eb 27                	jmp    0x417ed2
417eab:	8b 04 85 84 f0 44 00 	mov    0x44f084(,%eax,4),%eax
417eb2:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
417eb5:	b8 42 05 45 00       	mov    $0x450542,%eax
417eba:	2b c1                	sub    %ecx,%eax
417ebc:	3d 10 04 45 00       	cmp    $0x450410,%eax
417ec1:	73 07                	jae    0x417eca
417ec3:	b8 10 04 45 00       	mov    $0x450410,%eax
417ec8:	eb 07                	jmp    0x417ed1
417eca:	b8 42 05 45 00       	mov    $0x450542,%eax
417ecf:	2b c1                	sub    %ecx,%eax
417ed1:	50                   	push   %eax
417ed2:	68 6c 29 40 00       	push   $0x40296c
417ed7:	ff 15 74 23 45 00    	call   *0x452374
417edd:	8b 46 04             	mov    0x4(%esi),%eax
417ee0:	83 c4 08             	add    $0x8,%esp
417ee3:	48                   	dec    %eax
417ee4:	3b f8                	cmp    %eax,%edi
417ee6:	8d 46 0c             	lea    0xc(%esi),%eax
417ee9:	75 05                	jne    0x417ef0
417eeb:	b8 68 29 40 00       	mov    $0x402968,%eax
417ef0:	50                   	push   %eax
417ef1:	68 6c 29 40 00       	push   $0x40296c
417ef6:	ff 15 74 23 45 00    	call   *0x452374
417efc:	47                   	inc    %edi
417efd:	83 c4 08             	add    $0x8,%esp
417f00:	3b 7e 04             	cmp    0x4(%esi),%edi
417f03:	72 8f                	jb     0x417e94
417f05:	8b 4d f8             	mov    -0x8(%ebp),%ecx
417f08:	33 db                	xor    %ebx,%ebx
417f0a:	85 c9                	test   %ecx,%ecx
417f0c:	74 59                	je     0x417f67
417f0e:	8b ff                	mov    %edi,%edi
417f10:	3b 5e 04             	cmp    0x4(%esi),%ebx
417f13:	73 52                	jae    0x417f67
417f15:	8b 46 08             	mov    0x8(%esi),%eax
417f18:	8b 04 98             	mov    (%eax,%ebx,4),%eax
417f1b:	8d 04 80             	lea    (%eax,%eax,4),%eax
417f1e:	8b 3c 85 84 f0 44 00 	mov    0x44f084(,%eax,4),%edi
417f25:	47                   	inc    %edi
417f26:	3b cf                	cmp    %edi,%ecx
417f28:	73 02                	jae    0x417f2c
417f2a:	8b f9                	mov    %ecx,%edi
417f2c:	8d 0c 3f             	lea    (%edi,%edi,1),%ecx
417f2f:	b8 8a fe 44 00       	mov    $0x44fe8a,%eax
417f34:	2b c1                	sub    %ecx,%eax
417f36:	3d 58 fd 44 00       	cmp    $0x44fd58,%eax
417f3b:	73 07                	jae    0x417f44
417f3d:	b8 58 fd 44 00       	mov    $0x44fd58,%eax
417f42:	eb 07                	jmp    0x417f4b
417f44:	b8 8a fe 44 00       	mov    $0x44fe8a,%eax
417f49:	2b c1                	sub    %ecx,%eax
417f4b:	50                   	push   %eax
417f4c:	68 6c 29 40 00       	push   $0x40296c
417f51:	ff 15 74 23 45 00    	call   *0x452374
417f57:	8b 4d f8             	mov    -0x8(%ebp),%ecx
417f5a:	83 c4 08             	add    $0x8,%esp
417f5d:	2b cf                	sub    %edi,%ecx
417f5f:	43                   	inc    %ebx
417f60:	89 4d f8             	mov    %ecx,-0x8(%ebp)
417f63:	85 c9                	test   %ecx,%ecx
417f65:	75 a9                	jne    0x417f10
417f67:	68 68 29 40 00       	push   $0x402968
417f6c:	ff 15 74 23 45 00    	call   *0x452374
417f72:	83 c4 04             	add    $0x4,%esp
417f75:	8d 8d 98 fe ff ff    	lea    -0x168(%ebp),%ecx
417f7b:	e8 90 d6 ff ff       	call   0x415610
417f80:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
417f86:	e8 85 d6 ff ff       	call   0x415610
417f8b:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
417f91:	e8 7a d6 ff ff       	call   0x415610
417f96:	8b 4d f0             	mov    -0x10(%ebp),%ecx
417f99:	8d 95 98 fe ff ff    	lea    -0x168(%ebp),%edx
417f9f:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
417fa6:	e8 55 e3 ff ff       	call   0x416300
417fab:	8b d8                	mov    %eax,%ebx
417fad:	85 db                	test   %ebx,%ebx
417faf:	78 57                	js     0x418008
417fb1:	33 ff                	xor    %edi,%edi
417fb3:	39 7e 04             	cmp    %edi,0x4(%esi)
417fb6:	76 42                	jbe    0x417ffa
417fb8:	8b 46 08             	mov    0x8(%esi),%eax
417fbb:	8b ce                	mov    %esi,%ecx
417fbd:	8b 55 f0             	mov    -0x10(%ebp),%edx
417fc0:	ff 34 b8             	push   (%eax,%edi,4)
417fc3:	8d 85 98 fe ff ff    	lea    -0x168(%ebp),%eax
417fc9:	50                   	push   %eax
417fca:	e8 c1 e4 ff ff       	call   0x416490
417fcf:	8b d8                	mov    %eax,%ebx
417fd1:	85 db                	test   %ebx,%ebx
417fd3:	78 33                	js     0x418008
417fd5:	8b 46 04             	mov    0x4(%esi),%eax
417fd8:	48                   	dec    %eax
417fd9:	3b f8                	cmp    %eax,%edi
417fdb:	8d 46 0c             	lea    0xc(%esi),%eax
417fde:	75 05                	jne    0x417fe5
417fe0:	b8 68 29 40 00       	mov    $0x402968,%eax
417fe5:	50                   	push   %eax
417fe6:	68 6c 29 40 00       	push   $0x40296c
417feb:	ff 15 74 23 45 00    	call   *0x452374
417ff1:	47                   	inc    %edi
417ff2:	83 c4 08             	add    $0x8,%esp
417ff5:	3b 7e 04             	cmp    0x4(%esi),%edi
417ff8:	72 be                	jb     0x417fb8
417ffa:	68 68 29 40 00       	push   $0x402968
417fff:	ff 15 74 23 45 00    	call   *0x452374
418005:	83 c4 04             	add    $0x4,%esp
418008:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
41800e:	e8 8d d6 ff ff       	call   0x4156a0
418013:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
418019:	e8 82 d6 ff ff       	call   0x4156a0
41801e:	8d 8d 98 fe ff ff    	lea    -0x168(%ebp),%ecx
418024:	e8 77 d6 ff ff       	call   0x4156a0
418029:	5f                   	pop    %edi
41802a:	5e                   	pop    %esi
41802b:	8b c3                	mov    %ebx,%eax
41802d:	5b                   	pop    %ebx
41802e:	8b e5                	mov    %ebp,%esp
418030:	5d                   	pop    %ebp
418031:	c3                   	ret
418032:	cc                   	int3
418033:	cc                   	int3
418034:	cc                   	int3
418035:	cc                   	int3
418036:	cc                   	int3
418037:	cc                   	int3
418038:	cc                   	int3
418039:	cc                   	int3
41803a:	cc                   	int3
41803b:	cc                   	int3
41803c:	cc                   	int3
41803d:	cc                   	int3
41803e:	cc                   	int3
41803f:	cc                   	int3
418040:	8b ff                	mov    %edi,%edi
418042:	55                   	push   %ebp
418043:	8b ec                	mov    %esp,%ebp
418045:	83 ec 24             	sub    $0x24,%esp
418048:	57                   	push   %edi
418049:	8b 7d 0c             	mov    0xc(%ebp),%edi
41804c:	89 55 dc             	mov    %edx,-0x24(%ebp)
41804f:	ff 77 38             	push   0x38(%edi)
418052:	6a 00                	push   $0x0
418054:	ff 35 00 12 45 00    	push   0x451200
41805a:	ff 15 24 21 45 00    	call   *0x452124
418060:	89 45 ec             	mov    %eax,-0x14(%ebp)
418063:	85 c0                	test   %eax,%eax
418065:	0f 84 62 03 00 00    	je     0x4183cd
41806b:	53                   	push   %ebx
41806c:	56                   	push   %esi
41806d:	ff 77 38             	push   0x38(%edi)
418070:	6a 00                	push   $0x0
418072:	50                   	push   %eax
418073:	e8 e9 59 03 00       	call   0x44da61
418078:	33 f6                	xor    %esi,%esi
41807a:	83 c4 0c             	add    $0xc,%esp
41807d:	89 75 f0             	mov    %esi,-0x10(%ebp)
418080:	39 77 30             	cmp    %esi,0x30(%edi)
418083:	0f 86 67 01 00 00    	jbe    0x4181f0
418089:	33 c0                	xor    %eax,%eax
41808b:	89 45 e0             	mov    %eax,-0x20(%ebp)
41808e:	8b ff                	mov    %edi,%edi
418090:	8b 5f 34             	mov    0x34(%edi),%ebx
418093:	03 d8                	add    %eax,%ebx
418095:	89 5d f4             	mov    %ebx,-0xc(%ebp)
418098:	8b 43 08             	mov    0x8(%ebx),%eax
41809b:	8b 4b 04             	mov    0x4(%ebx),%ecx
41809e:	50                   	push   %eax
41809f:	51                   	push   %ecx
4180a0:	2b c8                	sub    %eax,%ecx
4180a2:	41                   	inc    %ecx
4180a3:	51                   	push   %ecx
4180a4:	ff 73 0c             	push   0xc(%ebx)
4180a7:	ff 75 08             	push   0x8(%ebp)
4180aa:	ff 75 dc             	push   -0x24(%ebp)
4180ad:	68 60 32 40 00       	push   $0x403260
4180b2:	ff 15 74 23 45 00    	call   *0x452374
4180b8:	8b 47 38             	mov    0x38(%edi),%eax
4180bb:	33 d2                	xor    %edx,%edx
4180bd:	33 c9                	xor    %ecx,%ecx
4180bf:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4180c6:	83 c4 1c             	add    $0x1c,%esp
4180c9:	89 55 e8             	mov    %edx,-0x18(%ebp)
4180cc:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4180cf:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4180d2:	85 c0                	test   %eax,%eax
4180d4:	0f 84 85 00 00 00    	je     0x41815f
4180da:	8b 7b 04             	mov    0x4(%ebx),%edi
4180dd:	8b c7                	mov    %edi,%eax
4180df:	8b 75 0c             	mov    0xc(%ebp),%esi
4180e2:	2b 43 08             	sub    0x8(%ebx),%eax
4180e5:	8b 76 3c             	mov    0x3c(%esi),%esi
4180e8:	8d 58 01             	lea    0x1(%eax),%ebx
4180eb:	83 c6 04             	add    $0x4,%esi
4180ee:	8b ff                	mov    %edi,%edi
4180f0:	8b 56 04             	mov    0x4(%esi),%edx
4180f3:	8b 06                	mov    (%esi),%eax
4180f5:	85 d2                	test   %edx,%edx
4180f7:	74 24                	je     0x41811d
4180f9:	8b c8                	mov    %eax,%ecx
4180fb:	2b ca                	sub    %edx,%ecx
4180fd:	41                   	inc    %ecx
4180fe:	3b cb                	cmp    %ebx,%ecx
418100:	72 2c                	jb     0x41812e
418102:	3b cf                	cmp    %edi,%ecx
418104:	77 28                	ja     0x41812e
418106:	3b c3                	cmp    %ebx,%eax
418108:	72 24                	jb     0x41812e
41810a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41810d:	3b c7                	cmp    %edi,%eax
41810f:	8b 45 fc             	mov    -0x4(%ebp),%eax
418112:	77 20                	ja     0x418134
418114:	01 55 e8             	add    %edx,-0x18(%ebp)
418117:	40                   	inc    %eax
418118:	89 45 fc             	mov    %eax,-0x4(%ebp)
41811b:	eb 17                	jmp    0x418134
41811d:	3b c3                	cmp    %ebx,%eax
41811f:	72 10                	jb     0x418131
418121:	3b c7                	cmp    %edi,%eax
418123:	8b 45 fc             	mov    -0x4(%ebp),%eax
418126:	77 0c                	ja     0x418134
418128:	41                   	inc    %ecx
418129:	89 4d f8             	mov    %ecx,-0x8(%ebp)
41812c:	eb 06                	jmp    0x418134
41812e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
418131:	8b 45 fc             	mov    -0x4(%ebp),%eax
418134:	83 c6 10             	add    $0x10,%esi
418137:	83 6d e4 01          	subl   $0x1,-0x1c(%ebp)
41813b:	75 b3                	jne    0x4180f0
41813d:	85 c0                	test   %eax,%eax
41813f:	75 04                	jne    0x418145
418141:	85 c9                	test   %ecx,%ecx
418143:	74 14                	je     0x418159
418145:	8b 55 e8             	mov    -0x18(%ebp),%edx
418148:	52                   	push   %edx
418149:	51                   	push   %ecx
41814a:	50                   	push   %eax
41814b:	68 d0 32 40 00       	push   $0x4032d0
418150:	ff 15 74 23 45 00    	call   *0x452374
418156:	83 c4 10             	add    $0x10,%esp
418159:	8b 75 f0             	mov    -0x10(%ebp),%esi
41815c:	8b 7d 0c             	mov    0xc(%ebp),%edi
41815f:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
418163:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41816a:	76 60                	jbe    0x4181cc
41816c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41816f:	33 d2                	xor    %edx,%edx
418171:	89 55 e4             	mov    %edx,-0x1c(%ebp)
418174:	8b 5f 3c             	mov    0x3c(%edi),%ebx
418177:	8b 7c 13 08          	mov    0x8(%ebx,%edx,1),%edi
41817b:	03 da                	add    %edx,%ebx
41817d:	8b 51 04             	mov    0x4(%ecx),%edx
418180:	8b c2                	mov    %edx,%eax
418182:	2b 41 08             	sub    0x8(%ecx),%eax
418185:	40                   	inc    %eax
418186:	8b 73 04             	mov    0x4(%ebx),%esi
418189:	85 ff                	test   %edi,%edi
41818b:	0f 84 c9 00 00 00    	je     0x41825a
418191:	8b ce                	mov    %esi,%ecx
418193:	2b cf                	sub    %edi,%ecx
418195:	41                   	inc    %ecx
418196:	3b c8                	cmp    %eax,%ecx
418198:	72 14                	jb     0x4181ae
41819a:	3b ca                	cmp    %edx,%ecx
41819c:	77 10                	ja     0x4181ae
41819e:	3b f0                	cmp    %eax,%esi
4181a0:	0f 82 54 01 00 00    	jb     0x4182fa
4181a6:	3b f2                	cmp    %edx,%esi
4181a8:	0f 86 bc 00 00 00    	jbe    0x41826a
4181ae:	8b 45 fc             	mov    -0x4(%ebp),%eax
4181b1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4181b4:	8b 7d 0c             	mov    0xc(%ebp),%edi
4181b7:	40                   	inc    %eax
4181b8:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4181bb:	83 c2 10             	add    $0x10,%edx
4181be:	89 45 fc             	mov    %eax,-0x4(%ebp)
4181c1:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4181c4:	3b 47 38             	cmp    0x38(%edi),%eax
4181c7:	72 ab                	jb     0x418174
4181c9:	8b 75 f0             	mov    -0x10(%ebp),%esi
4181cc:	68 68 29 40 00       	push   $0x402968
4181d1:	ff 15 74 23 45 00    	call   *0x452374
4181d7:	8b 45 e0             	mov    -0x20(%ebp),%eax
4181da:	46                   	inc    %esi
4181db:	83 c0 10             	add    $0x10,%eax
4181de:	89 75 f0             	mov    %esi,-0x10(%ebp)
4181e1:	83 c4 04             	add    $0x4,%esp
4181e4:	89 45 e0             	mov    %eax,-0x20(%ebp)
4181e7:	3b 77 30             	cmp    0x30(%edi),%esi
4181ea:	0f 82 a0 fe ff ff    	jb     0x418090
4181f0:	33 db                	xor    %ebx,%ebx
4181f2:	33 f6                	xor    %esi,%esi
4181f4:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
4181f7:	39 5f 38             	cmp    %ebx,0x38(%edi)
4181fa:	0f 86 a7 01 00 00    	jbe    0x4183a7
418200:	8b 45 ec             	mov    -0x14(%ebp),%eax
418203:	33 c9                	xor    %ecx,%ecx
418205:	89 4d e8             	mov    %ecx,-0x18(%ebp)
418208:	eb 06                	jmp    0x418210
41820a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
418210:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
418214:	0f 85 6b 01 00 00    	jne    0x418385
41821a:	8b 7f 3c             	mov    0x3c(%edi),%edi
41821d:	03 f9                	add    %ecx,%edi
41821f:	85 db                	test   %ebx,%ebx
418221:	75 15                	jne    0x418238
418223:	68 a0 33 40 00       	push   $0x4033a0
418228:	ff 15 74 23 45 00    	call   *0x452374
41822e:	83 c4 04             	add    $0x4,%esp
418231:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
418238:	8b 07                	mov    (%edi),%eax
41823a:	8b 57 08             	mov    0x8(%edi),%edx
41823d:	83 f8 01             	cmp    $0x1,%eax
418240:	0f 85 bf 00 00 00    	jne    0x418305
418246:	85 d2                	test   %edx,%edx
418248:	0f 85 b7 00 00 00    	jne    0x418305
41824e:	c7 45 e0 38 33 40 00 	movl   $0x403338,-0x20(%ebp)
418255:	e9 b2 00 00 00       	jmp    0x41830c
41825a:	3b f0                	cmp    %eax,%esi
41825c:	0f 82 9b 00 00 00    	jb     0x4182fd
418262:	3b f2                	cmp    %edx,%esi
418264:	0f 87 93 00 00 00    	ja     0x4182fd
41826a:	8b 03                	mov    (%ebx),%eax
41826c:	83 f8 01             	cmp    $0x1,%eax
41826f:	75 25                	jne    0x418296
418271:	85 ff                	test   %edi,%edi
418273:	75 21                	jne    0x418296
418275:	ba 38 33 40 00       	mov    $0x403338,%edx
41827a:	8b ce                	mov    %esi,%ecx
41827c:	3d 00 00 01 00       	cmp    $0x10000,%eax
418281:	7f 31                	jg     0x4182b4
418283:	74 28                	je     0x4182ad
418285:	83 e8 00             	sub    $0x0,%eax
418288:	74 1c                	je     0x4182a6
41828a:	83 e8 01             	sub    $0x1,%eax
41828d:	75 33                	jne    0x4182c2
41828f:	b8 98 20 40 00       	mov    $0x402098,%eax
418294:	eb 3f                	jmp    0x4182d5
418296:	ba 8c 20 40 00       	mov    $0x40208c,%edx
41829b:	85 ff                	test   %edi,%edi