4110fa:	e8 61 cb ff ff       	call   0x40dc60
4110ff:	8b cb                	mov    %ebx,%ecx
411101:	e8 45 f4 ff ff       	call   0x41054b
411106:	8b 5d f4             	mov    -0xc(%ebp),%ebx
411109:	89 45 dc             	mov    %eax,-0x24(%ebp)
41110c:	8b 45 fc             	mov    -0x4(%ebp),%eax
41110f:	66 89 30             	mov    %si,(%eax)
411112:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411115:	66 83 39 00          	cmpw   $0x0,(%ecx)
411119:	74 06                	je     0x411121
41111b:	83 c1 02             	add    $0x2,%ecx
41111e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411121:	8b 75 e4             	mov    -0x1c(%ebp),%esi
411124:	85 c9                	test   %ecx,%ecx
411126:	0f 85 44 fb ff ff    	jne    0x410c70
41112c:	e9 19 fc ff ff       	jmp    0x410d4a
411131:	6a 05                	push   $0x5
411133:	68 8c 25 40 00       	push   $0x40258c
411138:	ff 75 fc             	push   -0x4(%ebp)
41113b:	ff 15 28 a4 44 00    	call   *0x44a428
411141:	83 c4 0c             	add    $0xc,%esp
411144:	85 c0                	test   %eax,%eax
411146:	0f 84 17 04 00 00    	je     0x411563
41114c:	6a 07                	push   $0x7
41114e:	68 98 25 40 00       	push   $0x402598
411153:	ff 75 fc             	push   -0x4(%ebp)
411156:	ff 15 28 a4 44 00    	call   *0x44a428
41115c:	83 c4 0c             	add    $0xc,%esp
41115f:	85 c0                	test   %eax,%eax
411161:	0f 85 a4 da 00 00    	jne    0x41ec0b
411167:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41116a:	33 db                	xor    %ebx,%ebx
41116c:	83 c1 0e             	add    $0xe,%ecx
41116f:	89 45 d8             	mov    %eax,-0x28(%ebp)
411172:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411175:	0f b7 01             	movzwl (%ecx),%eax
411178:	66 85 c0             	test   %ax,%ax
41117b:	74 74                	je     0x4111f1
41117d:	8d 49 00             	lea    0x0(%ecx),%ecx
411180:	66 3b c6             	cmp    %si,%ax
411183:	74 6c                	je     0x4111f1
411185:	66 83 f8 2a          	cmp    $0x2a,%ax
411189:	0f 84 bc 03 00 00    	je     0x41154b
41118f:	6a 00                	push   $0x0
411191:	8d 45 fc             	lea    -0x4(%ebp),%eax
411194:	50                   	push   %eax
411195:	51                   	push   %ecx
411196:	ff 15 38 a4 44 00    	call   *0x44a438
41119c:	8b f0                	mov    %eax,%esi
41119e:	83 c4 0c             	add    $0xc,%esp
4111a1:	85 f6                	test   %esi,%esi
4111a3:	0f 8e 62 da 00 00    	jle    0x41ec0b
4111a9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4111ac:	66 83 39 2d          	cmpw   $0x2d,(%ecx)
4111b0:	0f 84 e4 00 00 00    	je     0x41129a
4111b6:	8b d6                	mov    %esi,%edx
4111b8:	83 fa 20             	cmp    $0x20,%edx
4111bb:	7d 27                	jge    0x4111e4
4111bd:	3b f2                	cmp    %edx,%esi
4111bf:	7f 23                	jg     0x4111e4
4111c1:	8b c2                	mov    %edx,%eax
4111c3:	43                   	inc    %ebx
4111c4:	2b c6                	sub    %esi,%eax
4111c6:	03 d8                	add    %eax,%ebx
4111c8:	89 5d ac             	mov    %ebx,-0x54(%ebp)
4111cb:	8b 5d d8             	mov    -0x28(%ebp),%ebx
4111ce:	8b ff                	mov    %edi,%edi
4111d0:	8d 46 ff             	lea    -0x1(%esi),%eax
4111d3:	46                   	inc    %esi
4111d4:	0f ab c3             	bts    %eax,%ebx
4111d7:	3b f2                	cmp    %edx,%esi
4111d9:	7e f5                	jle    0x4111d0
4111db:	8b 7d f0             	mov    -0x10(%ebp),%edi
4111de:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4111e1:	8b 5d ac             	mov    -0x54(%ebp),%ebx
4111e4:	0f b7 01             	movzwl (%ecx),%eax
4111e7:	83 f8 2c             	cmp    $0x2c,%eax
4111ea:	74 71                	je     0x41125d
4111ec:	83 f8 2a             	cmp    $0x2a,%eax
4111ef:	74 72                	je     0x411263
4111f1:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
4111f4:	0f 8e 1d 03 00 00    	jle    0x411517
4111fa:	89 5d f4             	mov    %ebx,-0xc(%ebp)
4111fd:	e9 1f ff ff ff       	jmp    0x411121
411202:	83 c1 02             	add    $0x2,%ecx
411205:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411208:	0f b7 01             	movzwl (%ecx),%eax
41120b:	8b d0                	mov    %eax,%edx
41120d:	66 85 c0             	test   %ax,%ax
411210:	0f 85 6a fa ff ff    	jne    0x410c80
411216:	e9 6f fa ff ff       	jmp    0x410c8a
41121b:	8b 3d 3c 67 43 00    	mov    0x43673c,%edi
411221:	83 c7 04             	add    $0x4,%edi
411224:	03 f9                	add    %ecx,%edi
411226:	8d 4a ff             	lea    -0x1(%edx),%ecx
411229:	33 c0                	xor    %eax,%eax
41122b:	f3 ab                	rep stos %eax,%es:(%edi)
41122d:	e9 36 fd ff ff       	jmp    0x410f68
411232:	8b cb                	mov    %ebx,%ecx
411234:	e8 56 07 00 00       	call   0x41198f
411239:	e9 36 fe ff ff       	jmp    0x411074
41123e:	3b c8                	cmp    %eax,%ecx
411240:	0f 85 78 fd ff ff    	jne    0x410fbe
411246:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411249:	03 4d ec             	add    -0x14(%ebp),%ecx
41124c:	a1 3c 67 43 00       	mov    0x43673c,%eax
411251:	89 34 88             	mov    %esi,(%eax,%ecx,4)
411254:	8b 4d f0             	mov    -0x10(%ebp),%ecx
411257:	41                   	inc    %ecx
411258:	e9 f1 fd ff ff       	jmp    0x41104e
41125d:	83 c1 02             	add    $0x2,%ecx
411260:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411263:	0f b7 01             	movzwl (%ecx),%eax
411266:	8b 75 e4             	mov    -0x1c(%ebp),%esi
411269:	66 85 c0             	test   %ax,%ax
41126c:	0f 85 0e ff ff ff    	jne    0x411180
411272:	e9 7a ff ff ff       	jmp    0x4111f1
411277:	0f b7 46 02          	movzwl 0x2(%esi),%eax
41127b:	83 c6 02             	add    $0x2,%esi
41127e:	8b c8                	mov    %eax,%ecx
411280:	66 85 c0             	test   %ax,%ax
411283:	0f 85 07 fd ff ff    	jne    0x410f90
411289:	e9 15 fd ff ff       	jmp    0x410fa3
41128e:	8b c8                	mov    %eax,%ecx
411290:	e8 cb c9 ff ff       	call   0x40dc60
411295:	e9 fb fd ff ff       	jmp    0x411095
41129a:	6a 00                	push   $0x0
41129c:	8d 45 fc             	lea    -0x4(%ebp),%eax
41129f:	50                   	push   %eax
4112a0:	8d 41 02             	lea    0x2(%ecx),%eax
4112a3:	50                   	push   %eax
4112a4:	ff 15 38 a4 44 00    	call   *0x44a438
4112aa:	8b d0                	mov    %eax,%edx
4112ac:	83 c4 0c             	add    $0xc,%esp
4112af:	85 d2                	test   %edx,%edx
4112b1:	0f 8e 54 d9 00 00    	jle    0x41ec0b
4112b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4112ba:	e9 f9 fe ff ff       	jmp    0x4111b8
4112bf:	83 fa 01             	cmp    $0x1,%edx
4112c2:	0f 8e d6 fb ff ff    	jle    0x410e9e
4112c8:	66 39 7c 56 fe       	cmp    %di,-0x2(%esi,%edx,2)
4112cd:	0f 85 cb fb ff ff    	jne    0x410e9e
4112d3:	83 c6 02             	add    $0x2,%esi
4112d6:	83 ea 02             	sub    $0x2,%edx
4112d9:	33 c0                	xor    %eax,%eax
4112db:	89 75 f8             	mov    %esi,-0x8(%ebp)
4112de:	68 3c 26 40 00       	push   $0x40263c
4112e3:	56                   	push   %esi
4112e4:	89 55 cc             	mov    %edx,-0x34(%ebp)
4112e7:	66 89 04 56          	mov    %ax,(%esi,%edx,2)
4112eb:	ff 15 24 a4 44 00    	call   *0x44a424
4112f1:	83 c4 08             	add    $0x8,%esp
4112f4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4112f7:	85 c0                	test   %eax,%eax
4112f9:	0f 84 e6 d9 00 00    	je     0x41ece5
4112ff:	50                   	push   %eax
411300:	33 db                	xor    %ebx,%ebx
411302:	33 ff                	xor    %edi,%edi
411304:	33 f6                	xor    %esi,%esi
411306:	ff 15 20 a4 44 00    	call   *0x44a420
41130c:	83 c4 04             	add    $0x4,%esp
41130f:	85 c0                	test   %eax,%eax
411311:	75 5b                	jne    0x41136e
411313:	ff 75 e4             	push   -0x1c(%ebp)
411316:	ff 15 08 a4 44 00    	call   *0x44a408
41131c:	83 c4 04             	add    $0x4,%esp
41131f:	85 c0                	test   %eax,%eax
411321:	75 4b                	jne    0x41136e
411323:	8b c3                	mov    %ebx,%eax
411325:	2b c7                	sub    %edi,%eax
411327:	3d 00 02 00 00       	cmp    $0x200,%eax
41132c:	73 1f                	jae    0x41134d
41132e:	81 c3 00 01 00 00    	add    $0x100,%ebx
411334:	85 f6                	test   %esi,%esi
411336:	0f 85 f9 01 00 00    	jne    0x411535
41133c:	8b cb                	mov    %ebx,%ecx
41133e:	e8 8d c9 ff ff       	call   0x40dcd0
411343:	8b f0                	mov    %eax,%esi
411345:	85 f6                	test   %esi,%esi
411347:	0f 84 66 d9 00 00    	je     0x41ecb3
41134d:	ff 75 e4             	push   -0x1c(%ebp)
411350:	8b c3                	mov    %ebx,%eax
411352:	c6 04 3e 00          	movb   $0x0,(%esi,%edi,1)
411356:	2b c7                	sub    %edi,%eax
411358:	8d 0c 3e             	lea    (%esi,%edi,1),%ecx
41135b:	50                   	push   %eax
41135c:	51                   	push   %ecx
41135d:	ff 15 f0 a3 44 00    	call   *0x44a3f0
411363:	83 c4 0c             	add    $0xc,%esp
411366:	85 c0                	test   %eax,%eax
411368:	0f 85 6b 01 00 00    	jne    0x4114d9
41136e:	ff 75 e4             	push   -0x1c(%ebp)
411371:	ff 15 fc a3 44 00    	call   *0x44a3fc
411377:	83 c4 04             	add    $0x4,%esp
41137a:	8d 14 7d 04 00 00 00 	lea    0x4(,%edi,2),%edx
411381:	8b ce                	mov    %esi,%ecx
411383:	e8 98 c9 ff ff       	call   0x40dd20
411388:	8b d8                	mov    %eax,%ebx
41138a:	89 45 e4             	mov    %eax,-0x1c(%ebp)
41138d:	85 db                	test   %ebx,%ebx
41138f:	0f 84 e0 d8 00 00    	je     0x41ec75
411395:	83 3d 40 67 43 00 00 	cmpl   $0x0,0x436740
41139c:	0f 84 27 d9 00 00    	je     0x41ecc9
4113a2:	83 3d 3c 67 43 00 00 	cmpl   $0x0,0x43673c
4113a9:	0f 84 1a d9 00 00    	je     0x41ecc9
4113af:	85 db                	test   %ebx,%ebx
4113b1:	0f 84 12 d9 00 00    	je     0x41ecc9
4113b7:	57                   	push   %edi
4113b8:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
4113bb:	53                   	push   %ebx
4113bc:	50                   	push   %eax
4113bd:	e8 80 68 00 00       	call   0x417c42
4113c2:	83 c4 0c             	add    $0xc,%esp
4113c5:	89 7d e0             	mov    %edi,-0x20(%ebp)
4113c8:	8b 0d a0 25 43 00    	mov    0x4325a0,%ecx
4113ce:	e8 75 ce ff ff       	call   0x40e248
4113d3:	85 c0                	test   %eax,%eax
4113d5:	0f 84 b5 d8 00 00    	je     0x41ec90
4113db:	ba 01 00 00 00       	mov    $0x1,%edx
4113e0:	57                   	push   %edi
4113e1:	53                   	push   %ebx
4113e2:	57                   	push   %edi
4113e3:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
4113e6:	50                   	push   %eax
4113e7:	52                   	push   %edx
4113e8:	51                   	push   %ecx
4113e9:	ff 15 68 a2 44 00    	call   *0x44a268
4113ef:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4113f2:	8d 04 43             	lea    (%ebx,%eax,2),%eax
4113f5:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4113f8:	3b c3                	cmp    %ebx,%eax
4113fa:	0f 84 c6 00 00 00    	je     0x4114c6
411400:	66 83 78 fe 0a       	cmpw   $0xa,-0x2(%eax)
411405:	0f 85 bb 00 00 00    	jne    0x4114c6
41140b:	33 c9                	xor    %ecx,%ecx
41140d:	66 89 08             	mov    %cx,(%eax)
411410:	e9 c8 fa ff ff       	jmp    0x410edd
411415:	6a 00                	push   $0x0
411417:	33 d2                	xor    %edx,%edx
411419:	8b ce                	mov    %esi,%ecx
41141b:	e8 10 a8 ff ff       	call   0x40bc30
411420:	8b f0                	mov    %eax,%esi
411422:	89 75 f8             	mov    %esi,-0x8(%ebp)
411425:	0f b7 16             	movzwl (%esi),%edx
411428:	e9 fa f9 ff ff       	jmp    0x410e27
41142d:	83 f8 22             	cmp    $0x22,%eax
411430:	0f 84 59 01 00 00    	je     0x41158f
411436:	6a 00                	push   $0x0
411438:	6a 00                	push   $0x0
41143a:	6a 03                	push   $0x3
41143c:	6a 00                	push   $0x0
41143e:	6a 05                	push   $0x5
411440:	68 00 00 00 80       	push   $0x80000000
411445:	56                   	push   %esi
411446:	ff 15 ac a0 44 00    	call   *0x44a0ac
41144c:	8b d8                	mov    %eax,%ebx
41144e:	83 fb ff             	cmp    $0xffffffff,%ebx
411451:	0f 84 ba d8 00 00    	je     0x41ed11
411457:	6a 02                	push   $0x2
411459:	6a 00                	push   $0x0
41145b:	6a 00                	push   $0x0
41145d:	53                   	push   %ebx
41145e:	ff 15 a0 a0 44 00    	call   *0x44a0a0
411464:	6a 00                	push   $0x0
411466:	6a 00                	push   $0x0
411468:	6a 00                	push   $0x0
41146a:	53                   	push   %ebx
41146b:	8b f8                	mov    %eax,%edi
41146d:	ff 15 a0 a0 44 00    	call   *0x44a0a0
411473:	8d 0c 7d 04 00 00 00 	lea    0x4(,%edi,2),%ecx
41147a:	e8 51 c8 ff ff       	call   0x40dcd0
41147f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
411482:	85 c0                	test   %eax,%eax
411484:	0f 84 76 d8 00 00    	je     0x41ed00
41148a:	6a 00                	push   $0x0
41148c:	8d 4d e0             	lea    -0x20(%ebp),%ecx
41148f:	c7 45 e0 ff ff ff ff 	movl   $0xffffffff,-0x20(%ebp)
411496:	51                   	push   %ecx
411497:	57                   	push   %edi
411498:	03 c7                	add    %edi,%eax
41149a:	50                   	push   %eax
41149b:	53                   	push   %ebx
41149c:	ff 15 94 a0 44 00    	call   *0x44a094
4114a2:	53                   	push   %ebx
4114a3:	8b f0                	mov    %eax,%esi
4114a5:	ff 15 1c a1 44 00    	call   *0x44a11c
4114ab:	85 f6                	test   %esi,%esi
4114ad:	0f 84 d3 d7 00 00    	je     0x41ec86
4114b3:	8b 45 e0             	mov    -0x20(%ebp),%eax
4114b6:	3b c7                	cmp    %edi,%eax
4114b8:	0f 85 cc fb ff ff    	jne    0x41108a
4114be:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
4114c1:	e9 02 ff ff ff       	jmp    0x4113c8
4114c6:	b9 0a 00 00 00       	mov    $0xa,%ecx
4114cb:	66 89 08             	mov    %cx,(%eax)
4114ce:	83 c0 02             	add    $0x2,%eax
4114d1:	89 45 c4             	mov    %eax,-0x3c(%ebp)
4114d4:	e9 32 ff ff ff       	jmp    0x41140b
4114d9:	8b fe                	mov    %esi,%edi
4114db:	8d 4f 01             	lea    0x1(%edi),%ecx
4114de:	8b ff                	mov    %edi,%edi
4114e0:	8a 07                	mov    (%edi),%al
4114e2:	47                   	inc    %edi
4114e3:	84 c0                	test   %al,%al
4114e5:	75 f9                	jne    0x4114e0
4114e7:	ff 75 e4             	push   -0x1c(%ebp)
4114ea:	2b f9                	sub    %ecx,%edi
4114ec:	ff 15 20 a4 44 00    	call   *0x44a420
4114f2:	83 c4 04             	add    $0x4,%esp
4114f5:	85 c0                	test   %eax,%eax
4114f7:	0f 84 16 fe ff ff    	je     0x411313
4114fd:	e9 6c fe ff ff       	jmp    0x41136e
411502:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411505:	0f b7 41 08          	movzwl 0x8(%ecx),%eax
411509:	83 c1 0a             	add    $0xa,%ecx
41150c:	89 45 bc             	mov    %eax,-0x44(%ebp)
41150f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411512:	e9 0a fc ff ff       	jmp    0x411121
411517:	8b 5d f4             	mov    -0xc(%ebp),%ebx
41151a:	e9 02 fc ff ff       	jmp    0x411121
41151f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
411522:	bf 01 00 00 00       	mov    $0x1,%edi
411527:	83 c1 10             	add    $0x10,%ecx
41152a:	89 7d f0             	mov    %edi,-0x10(%ebp)
41152d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411530:	e9 ec fb ff ff       	jmp    0x411121
411535:	8b d3                	mov    %ebx,%edx
411537:	8b ce                	mov    %esi,%ecx
411539:	e8 e2 c7 ff ff       	call   0x40dd20
41153e:	85 c0                	test   %eax,%eax
411540:	0f 85 fd fd ff ff    	jne    0x411343
411546:	e9 61 d7 00 00       	jmp    0x41ecac
41154b:	83 c1 02             	add    $0x2,%ecx
41154e:	43                   	inc    %ebx
41154f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
411552:	89 5d b8             	mov    %ebx,-0x48(%ebp)
411555:	e9 97 fc ff ff       	jmp    0x4111f1
41155a:	48                   	dec    %eax
41155b:	89 45 ac             	mov    %eax,-0x54(%ebp)
41155e:	e9 1b fb ff ff       	jmp    0x41107e
411563:	8b 45 fc             	mov    -0x4(%ebp),%eax
411566:	8d 4d fc             	lea    -0x4(%ebp),%ecx
411569:	6a 00                	push   $0x0
41156b:	83 c0 0a             	add    $0xa,%eax
41156e:	51                   	push   %ecx
41156f:	50                   	push   %eax
411570:	89 45 fc             	mov    %eax,-0x4(%ebp)
411573:	ff 15 38 a4 44 00    	call   *0x44a438
411579:	83 c4 0c             	add    $0xc,%esp
41157c:	89 45 c0             	mov    %eax,-0x40(%ebp)