407008:	8b 45 0c             	mov    0xc(%ebp),%eax
40700b:	f7 d8                	neg    %eax
40700d:	6a 00                	push   $0x0
40700f:	1b c0                	sbb    %eax,%eax
407011:	83 c0 03             	add    $0x3,%eax
407014:	50                   	push   %eax
407015:	ff 75 ec             	push   -0x14(%ebp)
407018:	8d 45 cc             	lea    -0x34(%ebp),%eax
40701b:	50                   	push   %eax
40701c:	ff 75 f8             	push   -0x8(%ebp)
40701f:	ff 75 08             	push   0x8(%ebp)
407022:	e8 36 fc ff ff       	call   0x406c5d
407027:	8b f0                	mov    %eax,%esi
407029:	85 f6                	test   %esi,%esi
40702b:	78 3c                	js     0x407069
40702d:	8d 45 cc             	lea    -0x34(%ebp),%eax
407030:	50                   	push   %eax
407031:	e8 63 94 01 00       	call   0x420499
407036:	8b 45 18             	mov    0x18(%ebp),%eax
407039:	40                   	inc    %eax
40703a:	89 45 18             	mov    %eax,0x18(%ebp)
40703d:	3b 45 f4             	cmp    -0xc(%ebp),%eax
407040:	0f 82 7b fe ff ff    	jb     0x406ec1
407046:	eb 4a                	jmp    0x407092
407048:	68 a4 d1 44 00       	push   $0x44d1a4
40704d:	eb 3b                	jmp    0x40708a
40704f:	68 78 d1 44 00       	push   $0x44d178
407054:	eb 34                	jmp    0x40708a
407056:	be 57 00 07 80       	mov    $0x80070057,%esi
40705b:	68 b0 d0 44 00       	push   $0x44d0b0
407060:	eb 28                	jmp    0x40708a
407062:	68 c4 d1 44 00       	push   $0x44d1c4
407067:	eb 21                	jmp    0x40708a
407069:	68 18 d2 44 00       	push   $0x44d218
40706e:	eb 1a                	jmp    0x40708a
407070:	68 f0 d1 44 00       	push   $0x44d1f0
407075:	eb 13                	jmp    0x40708a
407077:	68 54 d1 44 00       	push   $0x44d154
40707c:	eb 0c                	jmp    0x40708a
40707e:	68 34 d1 44 00       	push   $0x44d134
407083:	eb 05                	jmp    0x40708a
407085:	68 0c d1 44 00       	push   $0x44d10c
40708a:	56                   	push   %esi
40708b:	e8 9f 90 03 00       	call   0x44012f
407090:	59                   	pop    %ecx
407091:	59                   	pop    %ecx
407092:	ff 75 08             	push   0x8(%ebp)
407095:	ff 15 b8 b1 44 00    	call   *0x44b1b8
40709b:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40709f:	74 08                	je     0x4070a9
4070a1:	ff 75 f8             	push   -0x8(%ebp)
4070a4:	e8 46 e4 03 00       	call   0x4454ef
4070a9:	8d 45 cc             	lea    -0x34(%ebp),%eax
4070ac:	50                   	push   %eax
4070ad:	e8 e7 93 01 00       	call   0x420499
4070b2:	6a 08                	push   $0x8
4070b4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4070b7:	59                   	pop    %ecx
4070b8:	c6 00 00             	movb   $0x0,(%eax)
4070bb:	40                   	inc    %eax
4070bc:	83 e9 01             	sub    $0x1,%ecx
4070bf:	75 f7                	jne    0x4070b8
4070c1:	ff 75 fc             	push   -0x4(%ebp)
4070c4:	e8 ca b6 ff ff       	call   0x402793
4070c9:	5f                   	pop    %edi
4070ca:	8b c6                	mov    %esi,%eax
4070cc:	5e                   	pop    %esi
4070cd:	5b                   	pop    %ebx
4070ce:	8b e5                	mov    %ebp,%esp
4070d0:	5d                   	pop    %ebp
4070d1:	c2 14 00             	ret    $0x14
4070d4:	55                   	push   %ebp
4070d5:	8b ec                	mov    %esp,%ebp
4070d7:	51                   	push   %ecx
4070d8:	51                   	push   %ecx
4070d9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4070dd:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
4070e1:	56                   	push   %esi
4070e2:	57                   	push   %edi
4070e3:	8b 7d 08             	mov    0x8(%ebp),%edi
4070e6:	57                   	push   %edi
4070e7:	ff 15 f8 b0 44 00    	call   *0x44b0f8
4070ed:	40                   	inc    %eax
4070ee:	50                   	push   %eax
4070ef:	8d 45 fc             	lea    -0x4(%ebp),%eax
4070f2:	50                   	push   %eax
4070f3:	e8 e6 ad ff ff       	call   0x401ede
4070f8:	8b f0                	mov    %eax,%esi
4070fa:	85 f6                	test   %esi,%esi
4070fc:	79 12                	jns    0x407110
4070fe:	68 c0 ce 44 00       	push   $0x44cec0
407103:	56                   	push   %esi
407104:	e8 26 90 03 00       	call   0x44012f
407109:	59                   	pop    %ecx
40710a:	59                   	pop    %ecx
40710b:	e9 99 00 00 00       	jmp    0x4071a9
407110:	53                   	push   %ebx
407111:	68 f0 ce 44 00       	push   $0x44cef0
407116:	57                   	push   %edi
407117:	e8 2d cd 02 00       	call   0x433e49
40711c:	8b d8                	mov    %eax,%ebx
40711e:	59                   	pop    %ecx
40711f:	59                   	pop    %ecx
407120:	85 db                	test   %ebx,%ebx
407122:	74 11                	je     0x407135
407124:	53                   	push   %ebx
407125:	57                   	push   %edi
407126:	8d 45 fc             	lea    -0x4(%ebp),%eax
407129:	50                   	push   %eax
40712a:	e8 c3 ad ff ff       	call   0x401ef2
40712f:	8b f0                	mov    %eax,%esi
407131:	85 f6                	test   %esi,%esi
407133:	78 3e                	js     0x407173
407135:	8d 3c 5f             	lea    (%edi,%ebx,2),%edi
407138:	33 c9                	xor    %ecx,%ecx
40713a:	0f b7 07             	movzwl (%edi),%eax
40713d:	66 3b c8             	cmp    %ax,%cx
407140:	74 46                	je     0x407188
407142:	50                   	push   %eax
407143:	8d 45 f8             	lea    -0x8(%ebp),%eax
407146:	68 1c cf 44 00       	push   $0x44cf1c
40714b:	50                   	push   %eax
40714c:	e8 cf ad ff ff       	call   0x401f20
407151:	8b f0                	mov    %eax,%esi
407153:	83 c4 0c             	add    $0xc,%esp
407156:	85 f6                	test   %esi,%esi
407158:	78 27                	js     0x407181
40715a:	6a 00                	push   $0x0
40715c:	ff 75 f8             	push   -0x8(%ebp)
40715f:	8d 45 fc             	lea    -0x4(%ebp),%eax
407162:	50                   	push   %eax
407163:	e8 8a ad ff ff       	call   0x401ef2
407168:	8b f0                	mov    %eax,%esi
40716a:	85 f6                	test   %esi,%esi
40716c:	78 0c                	js     0x40717a
40716e:	83 c7 02             	add    $0x2,%edi
407171:	eb 9e                	jmp    0x407111
407173:	68 fc ce 44 00       	push   $0x44cefc
407178:	eb 26                	jmp    0x4071a0
40717a:	68 4c cf 44 00       	push   $0x44cf4c
40717f:	eb 1f                	jmp    0x4071a0
407181:	68 28 cf 44 00       	push   $0x44cf28
407186:	eb 18                	jmp    0x4071a0
407188:	6a 00                	push   $0x0
40718a:	ff 75 fc             	push   -0x4(%ebp)
40718d:	ff 75 0c             	push   0xc(%ebp)
407190:	e8 10 b0 ff ff       	call   0x4021a5
407195:	8b f0                	mov    %eax,%esi
407197:	85 f6                	test   %esi,%esi
407199:	79 0d                	jns    0x4071a8
40719b:	68 70 cf 44 00       	push   $0x44cf70
4071a0:	56                   	push   %esi
4071a1:	e8 89 8f 03 00       	call   0x44012f
4071a6:	59                   	pop    %ecx
4071a7:	59                   	pop    %ecx
4071a8:	5b                   	pop    %ebx
4071a9:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
4071ad:	74 08                	je     0x4071b7
4071af:	ff 75 fc             	push   -0x4(%ebp)
4071b2:	e8 38 e3 03 00       	call   0x4454ef
4071b7:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4071bb:	74 08                	je     0x4071c5
4071bd:	ff 75 f8             	push   -0x8(%ebp)
4071c0:	e8 2a e3 03 00       	call   0x4454ef
4071c5:	5f                   	pop    %edi
4071c6:	8b c6                	mov    %esi,%eax
4071c8:	5e                   	pop    %esi
4071c9:	8b e5                	mov    %ebp,%esp
4071cb:	5d                   	pop    %ebp
4071cc:	c2 08 00             	ret    $0x8
4071cf:	55                   	push   %ebp
4071d0:	8b ec                	mov    %esp,%ebp
4071d2:	6a 00                	push   $0x0
4071d4:	ff 75 14             	push   0x14(%ebp)
4071d7:	ff 75 10             	push   0x10(%ebp)
4071da:	ff 75 0c             	push   0xc(%ebp)
4071dd:	ff 75 08             	push   0x8(%ebp)
4071e0:	e8 98 e4 ff ff       	call   0x40567d
4071e5:	5d                   	pop    %ebp
4071e6:	c2 10 00             	ret    $0x10
4071e9:	55                   	push   %ebp
4071ea:	8b ec                	mov    %esp,%ebp
4071ec:	6a 01                	push   $0x1
4071ee:	ff 75 14             	push   0x14(%ebp)
4071f1:	ff 75 10             	push   0x10(%ebp)
4071f4:	ff 75 0c             	push   0xc(%ebp)
4071f7:	ff 75 08             	push   0x8(%ebp)
4071fa:	e8 7e e4 ff ff       	call   0x40567d
4071ff:	5d                   	pop    %ebp
407200:	c2 10 00             	ret    $0x10
407203:	55                   	push   %ebp
407204:	8b ec                	mov    %esp,%ebp
407206:	51                   	push   %ecx
407207:	51                   	push   %ecx
407208:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40720c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407210:	56                   	push   %esi
407211:	57                   	push   %edi
407212:	ff 75 08             	push   0x8(%ebp)
407215:	ff 15 b4 b1 44 00    	call   *0x44b1b4
40721b:	8d 45 f8             	lea    -0x8(%ebp),%eax
40721e:	50                   	push   %eax
40721f:	ff 75 0c             	push   0xc(%ebp)
407222:	ff 75 08             	push   0x8(%ebp)
407225:	e8 5d ea ff ff       	call   0x405c87
40722a:	8b 7d f8             	mov    -0x8(%ebp),%edi
40722d:	8b f0                	mov    %eax,%esi
40722f:	85 f6                	test   %esi,%esi
407231:	78 10                	js     0x407243
407233:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
407237:	75 0a                	jne    0x407243
407239:	be 90 04 07 80       	mov    $0x80070490,%esi
40723e:	e9 ae 00 00 00       	jmp    0x4072f1
407243:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
407249:	0f 84 a2 00 00 00    	je     0x4072f1
40724f:	85 f6                	test   %esi,%esi
407251:	79 0d                	jns    0x407260
407253:	ff 75 0c             	push   0xc(%ebp)
407256:	68 44 ce 44 00       	push   $0x44ce44
40725b:	e9 88 00 00 00       	jmp    0x4072e8
407260:	83 7f 18 02          	cmpl   $0x2,0x18(%edi)
407264:	75 68                	jne    0x4072ce
407266:	83 7f 2c 00          	cmpl   $0x0,0x2c(%edi)
40726a:	75 62                	jne    0x4072ce
40726c:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
407270:	75 5c                	jne    0x4072ce
407272:	8d 4d fc             	lea    -0x4(%ebp),%ecx
407275:	8d 47 08             	lea    0x8(%edi),%eax
407278:	51                   	push   %ecx
407279:	50                   	push   %eax
40727a:	e8 61 8e 01 00       	call   0x4200e0
40727f:	8b f0                	mov    %eax,%esi
407281:	85 f6                	test   %esi,%esi
407283:	79 0f                	jns    0x407294
407285:	68 60 ce 44 00       	push   $0x44ce60
40728a:	56                   	push   %esi
40728b:	e8 9f 8e 03 00       	call   0x44012f
407290:	59                   	pop    %ecx
407291:	59                   	pop    %ecx
407292:	eb 5d                	jmp    0x4072f1
407294:	6a 00                	push   $0x0
407296:	6a 00                	push   $0x0
407298:	ff 75 10             	push   0x10(%ebp)
40729b:	ff 75 fc             	push   -0x4(%ebp)
40729e:	ff 75 08             	push   0x8(%ebp)
4072a1:	e8 d7 e3 ff ff       	call   0x40567d
4072a6:	8b f0                	mov    %eax,%esi
4072a8:	85 f6                	test   %esi,%esi
4072aa:	79 45                	jns    0x4072f1
4072ac:	83 7f 20 00          	cmpl   $0x0,0x20(%edi)
4072b0:	b8 84 ce 44 00       	mov    $0x44ce84,%eax
4072b5:	75 03                	jne    0x4072ba
4072b7:	8b 47 08             	mov    0x8(%edi),%eax
4072ba:	ff 75 0c             	push   0xc(%ebp)
4072bd:	50                   	push   %eax
4072be:	68 90 ce 44 00       	push   $0x44ce90
4072c3:	56                   	push   %esi
4072c4:	e8 66 8e 03 00       	call   0x44012f
4072c9:	83 c4 10             	add    $0x10,%esp
4072cc:	eb 23                	jmp    0x4072f1
4072ce:	ff 75 10             	push   0x10(%ebp)
4072d1:	8d 47 08             	lea    0x8(%edi),%eax
4072d4:	50                   	push   %eax
4072d5:	e8 06 8e 01 00       	call   0x4200e0
4072da:	8b f0                	mov    %eax,%esi
4072dc:	85 f6                	test   %esi,%esi
4072de:	79 11                	jns    0x4072f1
4072e0:	ff 75 0c             	push   0xc(%ebp)
4072e3:	68 b8 cd 44 00       	push   $0x44cdb8
4072e8:	56                   	push   %esi
4072e9:	e8 41 8e 03 00       	call   0x44012f
4072ee:	83 c4 0c             	add    $0xc,%esp
4072f1:	ff 75 08             	push   0x8(%ebp)
4072f4:	ff 15 b8 b1 44 00    	call   *0x44b1b8
4072fa:	ff 75 fc             	push   -0x4(%ebp)
4072fd:	e8 91 b4 ff ff       	call   0x402793
407302:	5f                   	pop    %edi
407303:	8b c6                	mov    %esi,%eax
407305:	5e                   	pop    %esi
407306:	8b e5                	mov    %ebp,%esp
407308:	5d                   	pop    %ebp
407309:	c2 0c 00             	ret    $0xc
40730c:	55                   	push   %ebp
40730d:	8b ec                	mov    %esp,%ebp
40730f:	51                   	push   %ecx
407310:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407314:	56                   	push   %esi
407315:	ff 75 08             	push   0x8(%ebp)
407318:	ff 15 b4 b1 44 00    	call   *0x44b1b4
40731e:	8d 45 fc             	lea    -0x4(%ebp),%eax
407321:	50                   	push   %eax
407322:	ff 75 0c             	push   0xc(%ebp)
407325:	ff 75 08             	push   0x8(%ebp)
407328:	e8 5a e9 ff ff       	call   0x405c87
40732d:	8b f0                	mov    %eax,%esi
40732f:	8b 45 fc             	mov    -0x4(%ebp),%eax
407332:	85 f6                	test   %esi,%esi
407334:	78 0d                	js     0x407343
407336:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
40733a:	75 07                	jne    0x407343
40733c:	be 90 04 07 80       	mov    $0x80070490,%esi
407341:	eb 39                	jmp    0x40737c
407343:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
407349:	74 31                	je     0x40737c
40734b:	85 f6                	test   %esi,%esi
40734d:	79 0a                	jns    0x407359
40734f:	ff 75 0c             	push   0xc(%ebp)
407352:	68 5c cd 44 00       	push   $0x44cd5c
407357:	eb 1a                	jmp    0x407373
407359:	ff 75 10             	push   0x10(%ebp)
40735c:	83 c0 08             	add    $0x8,%eax
40735f:	50                   	push   %eax
407360:	e8 05 8d 01 00       	call   0x42006a
407365:	8b f0                	mov    %eax,%esi
407367:	85 f6                	test   %esi,%esi
407369:	79 11                	jns    0x40737c
40736b:	ff 75 0c             	push   0xc(%ebp)
40736e:	68 84 cd 44 00       	push   $0x44cd84
407373:	56                   	push   %esi
407374:	e8 b6 8d 03 00       	call   0x44012f
407379:	83 c4 0c             	add    $0xc,%esp
40737c:	ff 75 08             	push   0x8(%ebp)
40737f:	ff 15 b8 b1 44 00    	call   *0x44b1b8
407385:	8b c6                	mov    %esi,%eax
407387:	5e                   	pop    %esi
407388:	8b e5                	mov    %ebp,%esp
40738a:	5d                   	pop    %ebp
40738b:	c2 0c 00             	ret    $0xc
40738e:	55                   	push   %ebp
40738f:	8b ec                	mov    %esp,%ebp
407391:	51                   	push   %ecx
407392:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
407396:	56                   	push   %esi
407397:	ff 75 08             	push   0x8(%ebp)
40739a:	ff 15 b4 b1 44 00    	call   *0x44b1b4
4073a0:	8d 45 fc             	lea    -0x4(%ebp),%eax
4073a3:	50                   	push   %eax
4073a4:	ff 75 0c             	push   0xc(%ebp)
4073a7:	ff 75 08             	push   0x8(%ebp)
4073aa:	e8 d8 e8 ff ff       	call   0x405c87
4073af:	8b f0                	mov    %eax,%esi
4073b1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4073b4:	85 f6                	test   %esi,%esi
4073b6:	78 0d                	js     0x4073c5
4073b8:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
4073bc:	75 07                	jne    0x4073c5
4073be:	be 90 04 07 80       	mov    $0x80070490,%esi
4073c3:	eb 39                	jmp    0x4073fe
4073c5:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
4073cb:	74 31                	je     0x4073fe