413059:	e8 3e 6b ff ff       	call   0x409b9c
41305e:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
413062:	e8 4c da 00 00       	call   0x420ab3
413067:	8d 4c 24 60          	lea    0x60(%esp),%ecx
41306b:	e8 be 2b 00 00       	call   0x415c2e
413070:	8d 4c 24 60          	lea    0x60(%esp),%ecx
413074:	e8 eb 29 ff ff       	call   0x405a64
413079:	8d 4c 24 44          	lea    0x44(%esp),%ecx
41307d:	e8 e2 29 ff ff       	call   0x405a64
413082:	8b 44 24 40          	mov    0x40(%esp),%eax
413086:	ff 08                	decl   (%eax)
413088:	75 11                	jne    0x41309b
41308a:	50                   	push   %eax
41308b:	e8 dc df 00 00       	call   0x42106c
413090:	59                   	pop    %ecx
413091:	ff 74 24 3c          	push   0x3c(%esp)
413095:	e8 d2 df 00 00       	call   0x42106c
41309a:	59                   	pop    %ecx
41309b:	8b 44 24 5c          	mov    0x5c(%esp),%eax
41309f:	ff 08                	decl   (%eax)
4130a1:	75 0e                	jne    0x4130b1
4130a3:	50                   	push   %eax
4130a4:	e8 c3 df 00 00       	call   0x42106c
4130a9:	59                   	pop    %ecx
4130aa:	57                   	push   %edi
4130ab:	e8 bc df 00 00       	call   0x42106c
4130b0:	59                   	pop    %ecx
4130b1:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
4130b5:	e8 aa 29 ff ff       	call   0x405a64
4130ba:	5f                   	pop    %edi
4130bb:	5e                   	pop    %esi
4130bc:	33 c0                	xor    %eax,%eax
4130be:	5b                   	pop    %ebx
4130bf:	8b e5                	mov    %ebp,%esp
4130c1:	5d                   	pop    %ebp
4130c2:	c2 08 00             	ret    $0x8
4130c5:	51                   	push   %ecx
4130c6:	e9 bb 3e 03 00       	jmp    0x446f86
4130cb:	6a ff                	push   $0xffffffff
4130cd:	56                   	push   %esi
4130ce:	53                   	push   %ebx
4130cf:	8d 4c 24 28          	lea    0x28(%esp),%ecx
4130d3:	e8 d9 4a ff ff       	call   0x407bb1
4130d8:	e9 74 ff ff ff       	jmp    0x413051
4130dd:	55                   	push   %ebp
4130de:	8b ec                	mov    %esp,%ebp
4130e0:	83 ec 10             	sub    $0x10,%esp
4130e3:	53                   	push   %ebx
4130e4:	8b 5d 08             	mov    0x8(%ebp),%ebx
4130e7:	56                   	push   %esi
4130e8:	57                   	push   %edi
4130e9:	8b 43 04             	mov    0x4(%ebx),%eax
4130ec:	8b 30                	mov    (%eax),%esi
4130ee:	8b ce                	mov    %esi,%ecx
4130f0:	e8 a2 68 ff ff       	call   0x409997
4130f5:	8b 46 08             	mov    0x8(%esi),%eax
4130f8:	83 cf ff             	or     $0xffffffff,%edi
4130fb:	8b 70 04             	mov    0x4(%eax),%esi
4130fe:	8b 43 04             	mov    0x4(%ebx),%eax
413101:	8b 48 04             	mov    0x4(%eax),%ecx
413104:	e8 93 6b ff ff       	call   0x409c9c
413109:	8d 58 ff             	lea    -0x1(%eax),%ebx
41310c:	8b 45 08             	mov    0x8(%ebp),%eax
41310f:	83 78 08 02          	cmpl   $0x2,0x8(%eax)
413113:	76 0d                	jbe    0x413122
413115:	8b 40 04             	mov    0x4(%eax),%eax
413118:	8b 48 08             	mov    0x8(%eax),%ecx
41311b:	e8 7c 6b ff ff       	call   0x409c9c
413120:	8b f8                	mov    %eax,%edi
413122:	8d 4d f0             	lea    -0x10(%ebp),%ecx
413125:	e8 9d 46 ff ff       	call   0x4077c7
41312a:	3b de                	cmp    %esi,%ebx
41312c:	7f 4b                	jg     0x413179
41312e:	85 db                	test   %ebx,%ebx
413130:	78 47                	js     0x413179
413132:	85 ff                	test   %edi,%edi
413134:	78 47                	js     0x41317d
413136:	8b c6                	mov    %esi,%eax
413138:	2b c3                	sub    %ebx,%eax
41313a:	3b f8                	cmp    %eax,%edi
41313c:	7f 3f                	jg     0x41317d
41313e:	8b 45 08             	mov    0x8(%ebp),%eax
413141:	8b 40 04             	mov    0x4(%eax),%eax
413144:	8b 30                	mov    (%eax),%esi
413146:	8b ce                	mov    %esi,%ecx
413148:	e8 4a 68 ff ff       	call   0x409997
41314d:	57                   	push   %edi
41314e:	53                   	push   %ebx
41314f:	ff 76 08             	push   0x8(%esi)
413152:	8d 4d f0             	lea    -0x10(%ebp),%ecx
413155:	e8 51 48 ff ff       	call   0x4079ab
41315a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41315d:	8d 45 f0             	lea    -0x10(%ebp),%eax
413160:	50                   	push   %eax
413161:	e8 36 6a ff ff       	call   0x409b9c
413166:	8d 4d f0             	lea    -0x10(%ebp),%ecx
413169:	e8 f6 28 ff ff       	call   0x405a64
41316e:	5f                   	pop    %edi
41316f:	5e                   	pop    %esi
413170:	33 c0                	xor    %eax,%eax
413172:	5b                   	pop    %ebx
413173:	8b e5                	mov    %ebp,%esp
413175:	5d                   	pop    %ebp
413176:	c2 08 00             	ret    $0x8
413179:	8b de                	mov    %esi,%ebx
41317b:	eb b5                	jmp    0x413132
41317d:	8b fe                	mov    %esi,%edi
41317f:	2b fb                	sub    %ebx,%edi
413181:	eb bb                	jmp    0x41313e
413183:	cc                   	int3
413184:	cc                   	int3
413185:	cc                   	int3
413186:	cc                   	int3
413187:	cc                   	int3
413188:	cc                   	int3
413189:	cc                   	int3
41318a:	cc                   	int3
41318b:	cc                   	int3
41318c:	cc                   	int3
41318d:	cc                   	int3
41318e:	cc                   	int3
41318f:	cc                   	int3
413190:	55                   	push   %ebp
413191:	8b ec                	mov    %esp,%ebp
413193:	83 e4 f8             	and    $0xfffffff8,%esp
413196:	81 ec a4 00 00 00    	sub    $0xa4,%esp
41319c:	53                   	push   %ebx
41319d:	56                   	push   %esi
41319e:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4131a2:	8d 4c 24 60          	lea    0x60(%esp),%ecx
4131a6:	57                   	push   %edi
4131a7:	e8 51 2a 00 00       	call   0x415bfd
4131ac:	8b 7d 08             	mov    0x8(%ebp),%edi
4131af:	8b 47 04             	mov    0x4(%edi),%eax
4131b2:	8b 30                	mov    (%eax),%esi
4131b4:	8b ce                	mov    %esi,%ecx
4131b6:	e8 dc 67 ff ff       	call   0x409997
4131bb:	8b 47 04             	mov    0x4(%edi),%eax
4131be:	8b 5e 08             	mov    0x8(%esi),%ebx
4131c1:	8b 70 04             	mov    0x4(%eax),%esi
4131c4:	8b ce                	mov    %esi,%ecx
4131c6:	e8 cc 67 ff ff       	call   0x409997
4131cb:	8b 4e 08             	mov    0x8(%esi),%ecx
4131ce:	b8 01 00 00 00       	mov    $0x1,%eax
4131d3:	33 f6                	xor    %esi,%esi
4131d5:	89 4c 24 14          	mov    %ecx,0x14(%esp)
4131d9:	83 7f 08 03          	cmpl   $0x3,0x8(%edi)
4131dd:	89 44 24 10          	mov    %eax,0x10(%esp)
4131e1:	72 26                	jb     0x413209
4131e3:	8b 47 04             	mov    0x4(%edi),%eax
4131e6:	8b 48 08             	mov    0x8(%eax),%ecx
4131e9:	e8 ae 6a ff ff       	call   0x409c9c
4131ee:	8b f0                	mov    %eax,%esi
4131f0:	85 f6                	test   %esi,%esi
4131f2:	0f 88 f7 03 00 00    	js     0x4135ef
4131f8:	83 fe 04             	cmp    $0x4,%esi
4131fb:	0f 8f ee 03 00 00    	jg     0x4135ef
413201:	8b 4c 24 14          	mov    0x14(%esp),%ecx
413205:	8b 44 24 10          	mov    0x10(%esp),%eax
413209:	83 7f 08 04          	cmpl   $0x4,0x8(%edi)
41320d:	0f 83 29 3e 03 00    	jae    0x44703c
413213:	83 f8 01             	cmp    $0x1,%eax
413216:	0f 8c da 03 00 00    	jl     0x4135f6
41321c:	51                   	push   %ecx
41321d:	48                   	dec    %eax
41321e:	51                   	push   %ecx
41321f:	8d 4c 24 6c          	lea    0x6c(%esp),%ecx
413223:	89 44 24 18          	mov    %eax,0x18(%esp)
413227:	e8 46 2a 00 00       	call   0x415c72
41322c:	8b f8                	mov    %eax,%edi
41322e:	85 ff                	test   %edi,%edi
413230:	0f 85 1a 3e 03 00    	jne    0x447050
413236:	53                   	push   %ebx
413237:	8d 4c 24 68          	lea    0x68(%esp),%ecx
41323b:	e8 e4 2a 00 00       	call   0x415d24
413240:	85 f6                	test   %esi,%esi
413242:	0f 84 4a 3e 03 00    	je     0x447092
413248:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
41324c:	e8 76 45 ff ff       	call   0x4077c7
413251:	83 fe 01             	cmp    $0x1,%esi
413254:	0f 84 7f 3e 03 00    	je     0x4470d9
41325a:	83 fe 02             	cmp    $0x2,%esi
41325d:	0f 84 3e 3f 03 00    	je     0x4471a1
413263:	83 fe 03             	cmp    $0x3,%esi
413266:	0f 85 7c 40 03 00    	jne    0x4472e8
41326c:	8b 5c 24 38          	mov    0x38(%esp),%ebx
413270:	33 c0                	xor    %eax,%eax
413272:	c7 44 24 1c 68 f9 48 	movl   $0x48f968,0x1c(%esp)
413279:	00
41327a:	89 7c 24 20          	mov    %edi,0x20(%esp)
41327e:	89 44 24 24          	mov    %eax,0x24(%esp)
413282:	89 44 24 3c          	mov    %eax,0x3c(%esp)
413286:	89 44 24 28          	mov    %eax,0x28(%esp)
41328a:	8b 54 24 10          	mov    0x10(%esp),%edx
41328e:	8b b4 24 80 00 00 00 	mov    0x80(%esp),%esi
413295:	eb 09                	jmp    0x4132a0
413297:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
41329e:	8b ff                	mov    %edi,%edi
4132a0:	8b 4c 24 78          	mov    0x78(%esp),%ecx
4132a4:	85 c9                	test   %ecx,%ecx
4132a6:	0f 84 d6 02 00 00    	je     0x413582
4132ac:	80 7c 24 74 00       	cmpb   $0x0,0x74(%esp)
4132b1:	0f 84 cb 02 00 00    	je     0x413582
4132b7:	83 fa ff             	cmp    $0xffffffff,%edx
4132ba:	0f 84 c2 02 00 00    	je     0x413582
4132c0:	3b d6                	cmp    %esi,%edx
4132c2:	0f 8f ba 02 00 00    	jg     0x413582
4132c8:	ff b4 24 88 00 00 00 	push   0x88(%esp)
4132cf:	8b 84 24 94 00 00 00 	mov    0x94(%esp),%eax
4132d6:	ff b4 24 88 00 00 00 	push   0x88(%esp)
4132dd:	0b 84 24 a0 00 00 00 	or     0xa0(%esp),%eax
4132e4:	50                   	push   %eax
4132e5:	52                   	push   %edx
4132e6:	8b 94 24 8c 00 00 00 	mov    0x8c(%esp),%edx
4132ed:	56                   	push   %esi
4132ee:	ff 74 24 78          	push   0x78(%esp)
4132f2:	e8 49 0e 00 00       	call   0x414140
4132f7:	83 c4 18             	add    $0x18,%esp
4132fa:	89 84 24 8c 00 00 00 	mov    %eax,0x8c(%esp)
413301:	85 c0                	test   %eax,%eax
413303:	0f 8e 6b 02 00 00    	jle    0x413574
413309:	8b 8c 24 84 00 00 00 	mov    0x84(%esp),%ecx
413310:	8b b4 24 80 00 00 00 	mov    0x80(%esp),%esi
413317:	8b 51 04             	mov    0x4(%ecx),%edx
41331a:	c7 84 24 90 00 00 00 	movl   $0x0,0x90(%esp)
413321:	00 00 00 00
413325:	8b 39                	mov    (%ecx),%edi
413327:	3b 79 04             	cmp    0x4(%ecx),%edi
41332a:	0f 84 00 3f 03 00    	je     0x447230
413330:	89 54 24 10          	mov    %edx,0x10(%esp)
413334:	8b c8                	mov    %eax,%ecx
413336:	89 4c 24 44          	mov    %ecx,0x44(%esp)
41333a:	85 c9                	test   %ecx,%ecx
41333c:	0f 84 40 02 00 00    	je     0x413582
413342:	83 f9 02             	cmp    $0x2,%ecx
413345:	0f 8d 1f 02 00 00    	jge    0x41356a
41334b:	33 ff                	xor    %edi,%edi
41334d:	3b f9                	cmp    %ecx,%edi
41334f:	0f 83 4b ff ff ff    	jae    0x4132a0
413355:	8b 74 24 24          	mov    0x24(%esp),%esi
413359:	8d 0c fd 00 00 00 00 	lea    0x0(,%edi,8),%ecx
413360:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
413364:	3b f8                	cmp    %eax,%edi
413366:	0f 8d 21 3f 03 00    	jge    0x44728d
41336c:	8b 44 24 64          	mov    0x64(%esp),%eax
413370:	89 44 24 40          	mov    %eax,0x40(%esp)
413374:	85 ff                	test   %edi,%edi
413376:	0f 88 8e 02 00 00    	js     0x41360a
41337c:	8b 84 24 84 00 00 00 	mov    0x84(%esp),%eax
413383:	03 c1                	add    %ecx,%eax
413385:	8b 0d 4c 57 4a 00    	mov    0x4a574c,%ecx
41338b:	89 84 24 9c 00 00 00 	mov    %eax,0x9c(%esp)
413392:	8b 70 04             	mov    0x4(%eax),%esi
413395:	2b 30                	sub    (%eax),%esi
413397:	8d 04 75 02 00 00 00 	lea    0x2(,%esi,2),%eax
41339e:	50                   	push   %eax
41339f:	81 f9 95 64 41 00    	cmp    $0x416495,%ecx
4133a5:	0f 85 f8 3e 03 00    	jne    0x4472a3
4133ab:	e8 9c 25 01 00       	call   0x42594c
4133b0:	8b c8                	mov    %eax,%ecx
4133b2:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
4133b6:	83 c4 04             	add    $0x4,%esp
4133b9:	85 c9                	test   %ecx,%ecx
4133bb:	0f 84 3f 02 00 00    	je     0x413600
4133c1:	8b 54 24 40          	mov    0x40(%esp),%edx
4133c5:	8d 04 36             	lea    (%esi,%esi,1),%eax
4133c8:	50                   	push   %eax
4133c9:	8b 84 24 a0 00 00 00 	mov    0xa0(%esp),%eax
4133d0:	8b 00                	mov    (%eax),%eax
4133d2:	8d 04 42             	lea    (%edx,%eax,2),%eax
4133d5:	50                   	push   %eax
4133d6:	51                   	push   %ecx
4133d7:	e8 a4 dc 00 00       	call   0x421080
4133dc:	8b 44 24 54          	mov    0x54(%esp),%eax
4133e0:	33 c9                	xor    %ecx,%ecx
4133e2:	83 c4 0c             	add    $0xc,%esp
4133e5:	89 44 24 14          	mov    %eax,0x14(%esp)
4133e9:	66 89 0c 70          	mov    %cx,(%eax,%esi,2)
4133ed:	85 f6                	test   %esi,%esi
4133ef:	0f 84 c4 3e 03 00    	je     0x4472b9
4133f5:	83 fe ff             	cmp    $0xffffffff,%esi
4133f8:	0f 84 bb 3e 03 00    	je     0x4472b9
4133fe:	85 c0                	test   %eax,%eax
413400:	0f 84 b3 3e 03 00    	je     0x4472b9
413406:	8b 03                	mov    (%ebx),%eax
413408:	83 f8 01             	cmp    $0x1,%eax
41340b:	0f 8e b9 01 00 00    	jle    0x4135ca
413411:	48                   	dec    %eax
413412:	6a 04                	push   $0x4
413414:	89 03                	mov    %eax,(%ebx)
413416:	e8 db db 00 00       	call   0x420ff6
41341b:	8b d8                	mov    %eax,%ebx
41341d:	83 c4 04             	add    $0x4,%esp
413420:	85 db                	test   %ebx,%ebx
413422:	0f 84 ec 01 00 00    	je     0x413614
413428:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
41342e:	8d 46 01             	lea    0x1(%esi),%eax
413431:	89 5c 24 38          	mov    %ebx,0x38(%esp)
413435:	85 c0                	test   %eax,%eax
413437:	0f 84 de 01 00 00    	je     0x41361b
41343d:	83 c0 07             	add    $0x7,%eax
413440:	83 e0 f8             	and    $0xfffffff8,%eax
413443:	33 c9                	xor    %ecx,%ecx
413445:	89 44 24 34          	mov    %eax,0x34(%esp)
413449:	ba 02 00 00 00       	mov    $0x2,%edx
41344e:	f7 e2                	mul    %edx
413450:	0f 90 c1             	seto   %cl
413453:	f7 d9                	neg    %ecx
413455:	0b c8                	or     %eax,%ecx
413457:	51                   	push   %ecx
413458:	e8 99 db 00 00       	call   0x420ff6
41345d:	83 c4 04             	add    $0x4,%esp
413460:	89 44 24 2c          	mov    %eax,0x2c(%esp)
413464:	89 74 24 30          	mov    %esi,0x30(%esp)
413468:	03 f6                	add    %esi,%esi
41346a:	56                   	push   %esi
41346b:	ff 74 24 18          	push   0x18(%esp)
41346f:	50                   	push   %eax
413470:	e8 0b dc 00 00       	call   0x421080
413475:	8b 44 24 38          	mov    0x38(%esp),%eax
413479:	83 c4 0c             	add    $0xc,%esp
41347c:	33 c9                	xor    %ecx,%ecx
41347e:	66 89 0c 06          	mov    %cx,(%esi,%eax,1)
413482:	a1 48 57 4a 00       	mov    0x4a5748,%eax
413487:	ff 74 24 14          	push   0x14(%esp)
41348b:	3d 4f 61 41 00       	cmp    $0x41614f,%eax
413490:	0f 85 8f 01 00 00    	jne    0x413625
413496:	e8 fa fa 00 00       	call   0x422f95
41349b:	8b 74 24 28          	mov    0x28(%esp),%esi
41349f:	83 c4 04             	add    $0x4,%esp
4134a2:	8b 44 24 3c          	mov    0x3c(%esp),%eax
4134a6:	3b f0                	cmp    %eax,%esi
4134a8:	74 59                	je     0x413503
4134aa:	6a 10                	push   $0x10
4134ac:	e8 45 db 00 00       	call   0x420ff6
4134b1:	83 c4 04             	add    $0x4,%esp
4134b4:	85 c0                	test   %eax,%eax
4134b6:	0f 84 70 01 00 00    	je     0x41362c
4134bc:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
4134c0:	89 08                	mov    %ecx,(%eax)
4134c2:	8b 4c 24 30          	mov    0x30(%esp),%ecx
4134c6:	89 48 04             	mov    %ecx,0x4(%eax)
4134c9:	8b 4c 24 34          	mov    0x34(%esp),%ecx
4134cd:	89 48 08             	mov    %ecx,0x8(%eax)
4134d0:	89 58 0c             	mov    %ebx,0xc(%eax)
4134d3:	ff 03                	incl   (%ebx)
4134d5:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4134d9:	47                   	inc    %edi
4134da:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
4134dd:	46                   	inc    %esi