407ea4:	84 db                	test   %bl,%bl
407ea6:	0f 84 10 01 00 00    	je     0x407fbc
407eac:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
407eb1:	85 c0                	test   %eax,%eax
407eb3:	75 33                	jne    0x407ee8
407eb5:	68 84 00 00 00       	push   $0x84
407eba:	e8 19 1b 06 00       	call   0x4699d8
407ebf:	8b f0                	mov    %eax,%esi
407ec1:	89 75 98             	mov    %esi,-0x68(%ebp)
407ec4:	68 84 00 00 00       	push   $0x84
407ec9:	6a 00                	push   $0x0
407ecb:	56                   	push   %esi
407ecc:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
407ed0:	e8 db 3c 06 00       	call   0x46bbb0
407ed5:	83 c4 10             	add    $0x10,%esp
407ed8:	8b ce                	mov    %esi,%ecx
407eda:	e8 a1 dd ff ff       	call   0x405c80
407edf:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407ee3:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
407ee8:	8b 48 04             	mov    0x4(%eax),%ecx
407eeb:	83 c0 04             	add    $0x4,%eax
407eee:	68 98 05 4b 00       	push   $0x4b0598
407ef3:	68 60 ea 4a 00       	push   $0x4aea60
407ef8:	50                   	push   %eax
407ef9:	8b 71 24             	mov    0x24(%ecx),%esi
407efc:	8b ce                	mov    %esi,%ecx
407efe:	ff 15 d4 e2 49 00    	call   *0x49e2d4
407f04:	ff d6                	call   *%esi
407f06:	8b 5d e8             	mov    -0x18(%ebp),%ebx
407f09:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
407f0c:	83 c4 0c             	add    $0xc,%esp
407f0f:	83 f9 08             	cmp    $0x8,%ecx
407f12:	72 32                	jb     0x407f46
407f14:	8b 55 d0             	mov    -0x30(%ebp),%edx
407f17:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407f1e:	8b c2                	mov    %edx,%eax
407f20:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407f26:	72 14                	jb     0x407f3c
407f28:	8b 50 fc             	mov    -0x4(%eax),%edx
407f2b:	83 c1 23             	add    $0x23,%ecx
407f2e:	2b c2                	sub    %edx,%eax
407f30:	83 c0 fc             	add    $0xfffffffc,%eax
407f33:	83 f8 1f             	cmp    $0x1f,%eax
407f36:	0f 87 a9 04 00 00    	ja     0x4083e5
407f3c:	51                   	push   %ecx
407f3d:	52                   	push   %edx
407f3e:	e8 c5 1a 06 00       	call   0x469a08
407f43:	83 c4 08             	add    $0x8,%esp
407f46:	8b 75 ec             	mov    -0x14(%ebp),%esi
407f49:	85 f6                	test   %esi,%esi
407f4b:	74 15                	je     0x407f62
407f4d:	8b ce                	mov    %esi,%ecx
407f4f:	e8 9c 23 02 00       	call   0x42a2f0
407f54:	68 c8 00 00 00       	push   $0xc8
407f59:	56                   	push   %esi
407f5a:	e8 a9 1a 06 00       	call   0x469a08
407f5f:	83 c4 08             	add    $0x8,%esp
407f62:	85 db                	test   %ebx,%ebx
407f64:	74 15                	je     0x407f7b
407f66:	8b cb                	mov    %ebx,%ecx
407f68:	e8 83 23 02 00       	call   0x42a2f0
407f6d:	68 c8 00 00 00       	push   $0xc8
407f72:	53                   	push   %ebx
407f73:	e8 90 1a 06 00       	call   0x469a08
407f78:	83 c4 08             	add    $0x8,%esp
407f7b:	8b 4d 20             	mov    0x20(%ebp),%ecx
407f7e:	83 f9 08             	cmp    $0x8,%ecx
407f81:	72 32                	jb     0x407fb5
407f83:	8b 55 0c             	mov    0xc(%ebp),%edx
407f86:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407f8d:	8b c2                	mov    %edx,%eax
407f8f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407f95:	72 14                	jb     0x407fab
407f97:	8b 50 fc             	mov    -0x4(%eax),%edx
407f9a:	83 c1 23             	add    $0x23,%ecx
407f9d:	2b c2                	sub    %edx,%eax
407f9f:	83 c0 fc             	add    $0xfffffffc,%eax
407fa2:	83 f8 1f             	cmp    $0x1f,%eax
407fa5:	0f 87 3a 04 00 00    	ja     0x4083e5
407fab:	51                   	push   %ecx
407fac:	52                   	push   %edx
407fad:	e8 56 1a 06 00       	call   0x469a08
407fb2:	83 c4 08             	add    $0x8,%esp
407fb5:	32 c0                	xor    %al,%al
407fb7:	e9 f7 03 00 00       	jmp    0x4083b3
407fbc:	83 7d e4 08          	cmpl   $0x8,-0x1c(%ebp)
407fc0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
407fc3:	8b 5d d0             	mov    -0x30(%ebp),%ebx
407fc6:	8b 75 e0             	mov    -0x20(%ebp),%esi
407fc9:	0f 93 c2             	setae  %dl
407fcc:	0f 43 cb             	cmovae %ebx,%ecx
407fcf:	88 55 9f             	mov    %dl,-0x61(%ebp)
407fd2:	83 fe 0d             	cmp    $0xd,%esi
407fd5:	0f 85 f4 01 00 00    	jne    0x4081cf
407fdb:	8b fe                	mov    %esi,%edi
407fdd:	ba 0c 06 4b 00       	mov    $0x4b060c,%edx
407fe2:	85 ff                	test   %edi,%edi
407fe4:	74 21                	je     0x408007
407fe6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
407fed:	00 00 00
407ff0:	66 8b 01             	mov    (%ecx),%ax
407ff3:	66 3b 02             	cmp    (%edx),%ax
407ff6:	0f 85 d0 01 00 00    	jne    0x4081cc
407ffc:	83 c1 02             	add    $0x2,%ecx
407fff:	83 c2 02             	add    $0x2,%edx
408002:	83 ef 01             	sub    $0x1,%edi
408005:	75 e9                	jne    0x407ff0
408007:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
40800c:	85 c0                	test   %eax,%eax
40800e:	75 33                	jne    0x408043
408010:	68 84 00 00 00       	push   $0x84
408015:	e8 be 19 06 00       	call   0x4699d8
40801a:	8b f0                	mov    %eax,%esi
40801c:	89 75 98             	mov    %esi,-0x68(%ebp)
40801f:	68 84 00 00 00       	push   $0x84
408024:	6a 00                	push   $0x0
408026:	56                   	push   %esi
408027:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
40802b:	e8 80 3b 06 00       	call   0x46bbb0
408030:	83 c4 10             	add    $0x10,%esp
408033:	8b ce                	mov    %esi,%ecx
408035:	e8 46 dc ff ff       	call   0x405c80
40803a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40803e:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
408043:	8b 48 04             	mov    0x4(%eax),%ecx
408046:	83 c0 04             	add    $0x4,%eax
408049:	68 28 06 4b 00       	push   $0x4b0628
40804e:	50                   	push   %eax
40804f:	8b 71 14             	mov    0x14(%ecx),%esi
408052:	8b ce                	mov    %esi,%ecx
408054:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40805a:	ff d6                	call   *%esi
40805c:	83 c4 08             	add    $0x8,%esp
40805f:	8d 45 e8             	lea    -0x18(%ebp),%eax
408062:	50                   	push   %eax
408063:	8d 45 a0             	lea    -0x60(%ebp),%eax
408066:	50                   	push   %eax
408067:	e8 94 03 00 00       	call   0x408400
40806c:	33 c0                	xor    %eax,%eax
40806e:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
408075:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40807c:	c7 45 cc 07 00 00 00 	movl   $0x7,-0x34(%ebp)
408083:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
408087:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40808b:	8d 4d 80             	lea    -0x80(%ebp),%ecx
40808e:	6a 1e                	push   $0x1e
408090:	68 ac 06 4b 00       	push   $0x4b06ac
408095:	89 45 98             	mov    %eax,-0x68(%ebp)
408098:	89 45 80             	mov    %eax,-0x80(%ebp)
40809b:	89 45 90             	mov    %eax,-0x70(%ebp)
40809e:	89 45 94             	mov    %eax,-0x6c(%ebp)
4080a1:	e8 ba 9f ff ff       	call   0x402060
4080a6:	8d 45 98             	lea    -0x68(%ebp),%eax
4080a9:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4080ad:	50                   	push   %eax
4080ae:	8d 45 b8             	lea    -0x48(%ebp),%eax
4080b1:	50                   	push   %eax
4080b2:	8d 45 80             	lea    -0x80(%ebp),%eax
4080b5:	50                   	push   %eax
4080b6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4080b9:	e8 a2 ad 00 00       	call   0x412e60
4080be:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
4080c2:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4080c5:	83 f9 08             	cmp    $0x8,%ecx
4080c8:	72 32                	jb     0x4080fc
4080ca:	8b 55 80             	mov    -0x80(%ebp),%edx
4080cd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4080d4:	8b c2                	mov    %edx,%eax
4080d6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4080dc:	72 14                	jb     0x4080f2
4080de:	8b 50 fc             	mov    -0x4(%eax),%edx
4080e1:	83 c1 23             	add    $0x23,%ecx
4080e4:	2b c2                	sub    %edx,%eax
4080e6:	83 c0 fc             	add    $0xfffffffc,%eax
4080e9:	83 f8 1f             	cmp    $0x1f,%eax
4080ec:	0f 87 e4 02 00 00    	ja     0x4083d6
4080f2:	51                   	push   %ecx
4080f3:	52                   	push   %edx
4080f4:	e8 0f 19 06 00       	call   0x469a08
4080f9:	83 c4 08             	add    $0x8,%esp
4080fc:	8b 7d cc             	mov    -0x34(%ebp),%edi
4080ff:	8d 4d b8             	lea    -0x48(%ebp),%ecx
408102:	8b 75 b8             	mov    -0x48(%ebp),%esi
408105:	83 ff 08             	cmp    $0x8,%edi
408108:	8b 55 c8             	mov    -0x38(%ebp),%edx
40810b:	6a 03                	push   $0x3
40810d:	0f 43 ce             	cmovae %esi,%ecx
408110:	0f 93 45 9f          	setae  -0x61(%ebp)
408114:	68 ec 06 4b 00       	push   $0x4b06ec
408119:	e8 02 bb ff ff       	call   0x403c20
40811e:	83 c4 08             	add    $0x8,%esp
408121:	85 c0                	test   %eax,%eax
408123:	75 17                	jne    0x40813c
408125:	83 ec 18             	sub    $0x18,%esp
408128:	8d 45 0c             	lea    0xc(%ebp),%eax
40812b:	8b cc                	mov    %esp,%ecx
40812d:	50                   	push   %eax
40812e:	e8 3d b4 ff ff       	call   0x403570
408133:	8d 45 a0             	lea    -0x60(%ebp),%eax
408136:	50                   	push   %eax
408137:	e8 64 1e 00 00       	call   0x409fa0
40813c:	80 7d 9f 00          	cmpb   $0x0,-0x61(%ebp)
408140:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
408144:	74 2f                	je     0x408175
408146:	8d 0c 7d 02 00 00 00 	lea    0x2(,%edi,2),%ecx
40814d:	8b c6                	mov    %esi,%eax
40814f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408155:	72 14                	jb     0x40816b
408157:	8b 70 fc             	mov    -0x4(%eax),%esi
40815a:	83 c1 23             	add    $0x23,%ecx
40815d:	2b c6                	sub    %esi,%eax
40815f:	83 c0 fc             	add    $0xfffffffc,%eax
408162:	83 f8 1f             	cmp    $0x1f,%eax
408165:	0f 87 70 02 00 00    	ja     0x4083db
40816b:	51                   	push   %ecx
40816c:	56                   	push   %esi
40816d:	e8 96 18 06 00       	call   0x469a08
408172:	83 c4 08             	add    $0x8,%esp
408175:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
408179:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
40817c:	83 f9 08             	cmp    $0x8,%ecx
40817f:	72 32                	jb     0x4081b3
408181:	8b 55 a0             	mov    -0x60(%ebp),%edx
408184:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40818b:	8b c2                	mov    %edx,%eax
40818d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408193:	72 14                	jb     0x4081a9
408195:	8b 50 fc             	mov    -0x4(%eax),%edx
408198:	83 c1 23             	add    $0x23,%ecx
40819b:	2b c2                	sub    %edx,%eax
40819d:	83 c0 fc             	add    $0xfffffffc,%eax
4081a0:	83 f8 1f             	cmp    $0x1f,%eax
4081a3:	0f 87 32 02 00 00    	ja     0x4083db
4081a9:	51                   	push   %ecx
4081aa:	52                   	push   %edx
4081ab:	e8 58 18 06 00       	call   0x469a08
4081b0:	83 c4 08             	add    $0x8,%esp
4081b3:	33 c0                	xor    %eax,%eax
4081b5:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
4081bc:	c7 45 b4 07 00 00 00 	movl   $0x7,-0x4c(%ebp)
4081c3:	66 89 45 a0          	mov    %ax,-0x60(%ebp)
4081c7:	e9 ea 00 00 00       	jmp    0x4082b6
4081cc:	8a 55 9f             	mov    -0x61(%ebp),%dl
4081cf:	84 d2                	test   %dl,%dl
4081d1:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4081d4:	0f 45 cb             	cmovne %ebx,%ecx
4081d7:	83 fe 0b             	cmp    $0xb,%esi
4081da:	0f 85 d6 00 00 00    	jne    0x4082b6
4081e0:	ba f4 06 4b 00       	mov    $0x4b06f4,%edx
4081e5:	85 f6                	test   %esi,%esi
4081e7:	74 1e                	je     0x408207
4081e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
4081f0:	66 8b 01             	mov    (%ecx),%ax
4081f3:	66 3b 02             	cmp    (%edx),%ax
4081f6:	0f 85 ba 00 00 00    	jne    0x4082b6
4081fc:	83 c1 02             	add    $0x2,%ecx
4081ff:	83 c2 02             	add    $0x2,%edx
408202:	83 ee 01             	sub    $0x1,%esi
408205:	75 e9                	jne    0x4081f0
408207:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
40820c:	85 c0                	test   %eax,%eax
40820e:	75 33                	jne    0x408243
408210:	68 84 00 00 00       	push   $0x84
408215:	e8 be 17 06 00       	call   0x4699d8
40821a:	8b f0                	mov    %eax,%esi
40821c:	89 75 98             	mov    %esi,-0x68(%ebp)
40821f:	68 84 00 00 00       	push   $0x84
408224:	6a 00                	push   $0x0
408226:	56                   	push   %esi
408227:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
40822b:	e8 80 39 06 00       	call   0x46bbb0
408230:	83 c4 10             	add    $0x10,%esp
408233:	8b ce                	mov    %esi,%ecx
408235:	e8 46 da ff ff       	call   0x405c80
40823a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40823e:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
408243:	8b 48 04             	mov    0x4(%eax),%ecx
408246:	83 c0 04             	add    $0x4,%eax
408249:	68 10 07 4b 00       	push   $0x4b0710
40824e:	50                   	push   %eax
40824f:	8b 71 14             	mov    0x14(%ecx),%esi
408252:	8b ce                	mov    %esi,%ecx
408254:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40825a:	ff d6                	call   *%esi
40825c:	83 c4 08             	add    $0x8,%esp
40825f:	8d 45 80             	lea    -0x80(%ebp),%eax
408262:	50                   	push   %eax
408263:	e8 98 18 00 00       	call   0x409b00
408268:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
40826b:	83 f9 08             	cmp    $0x8,%ecx
40826e:	72 32                	jb     0x4082a2
408270:	8b 55 80             	mov    -0x80(%ebp),%edx
408273:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40827a:	8b c2                	mov    %edx,%eax
40827c:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408282:	72 14                	jb     0x408298
408284:	8b 50 fc             	mov    -0x4(%eax),%edx
408287:	83 c1 23             	add    $0x23,%ecx
40828a:	2b c2                	sub    %edx,%eax
40828c:	83 c0 fc             	add    $0xfffffffc,%eax
40828f:	83 f8 1f             	cmp    $0x1f,%eax
408292:	0f 87 48 01 00 00    	ja     0x4083e0
408298:	51                   	push   %ecx
408299:	52                   	push   %edx
40829a:	e8 69 17 06 00       	call   0x469a08
40829f:	83 c4 08             	add    $0x8,%esp
4082a2:	33 c0                	xor    %eax,%eax
4082a4:	c7 45 90 00 00 00 00 	movl   $0x0,-0x70(%ebp)
4082ab:	c7 45 94 07 00 00 00 	movl   $0x7,-0x6c(%ebp)
4082b2:	66 89 45 80          	mov    %ax,-0x80(%ebp)
4082b6:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
4082bb:	85 c0                	test   %eax,%eax
4082bd:	75 33                	jne    0x4082f2
4082bf:	68 84 00 00 00       	push   $0x84
4082c4:	e8 0f 17 06 00       	call   0x4699d8
4082c9:	8b f0                	mov    %eax,%esi
4082cb:	89 75 98             	mov    %esi,-0x68(%ebp)
4082ce:	68 84 00 00 00       	push   $0x84
4082d3:	6a 00                	push   $0x0
4082d5:	56                   	push   %esi
4082d6:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
4082da:	e8 d1 38 06 00       	call   0x46bbb0
4082df:	83 c4 10             	add    $0x10,%esp
4082e2:	8b ce                	mov    %esi,%ecx
4082e4:	e8 97 d9 ff ff       	call   0x405c80
4082e9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4082ed:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
4082f2:	8b 48 04             	mov    0x4(%eax),%ecx
4082f5:	83 c0 04             	add    $0x4,%eax
4082f8:	68 88 07 4b 00       	push   $0x4b0788
4082fd:	50                   	push   %eax
4082fe:	8b 71 14             	mov    0x14(%ecx),%esi
408301:	8b ce                	mov    %esi,%ecx
408303:	ff 15 d4 e2 49 00    	call   *0x49e2d4
408309:	ff d6                	call   *%esi
40830b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40830e:	83 c4 08             	add    $0x8,%esp
408311:	83 f8 08             	cmp    $0x8,%eax
408314:	72 2f                	jb     0x408345
408316:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
40831d:	8b c3                	mov    %ebx,%eax
40831f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408325:	72 14                	jb     0x40833b
408327:	8b 58 fc             	mov    -0x4(%eax),%ebx
40832a:	83 c1 23             	add    $0x23,%ecx
40832d:	2b c3                	sub    %ebx,%eax
40832f:	83 c0 fc             	add    $0xfffffffc,%eax
408332:	83 f8 1f             	cmp    $0x1f,%eax
408335:	0f 87 aa 00 00 00    	ja     0x4083e5
40833b:	51                   	push   %ecx