45bf66:	eb 1f                	jmp    0x45bf87
45bf68:	f6 46 1c 10          	testb  $0x10,0x1c(%esi)
45bf6c:	75 19                	jne    0x45bf87
45bf6e:	8b c6                	mov    %esi,%eax
45bf70:	8b 15 18 7d 45 00    	mov    0x457d18,%edx
45bf76:	e8 89 7c fa ff       	call   0x403c04
45bf7b:	84 c0                	test   %al,%al
45bf7d:	74 08                	je     0x45bf87
45bf7f:	8b 46 34             	mov    0x34(%esi),%eax
45bf82:	e8 59 ef ff ff       	call   0x45aee0
45bf87:	8b c3                	mov    %ebx,%eax
45bf89:	5f                   	pop    %edi
45bf8a:	5e                   	pop    %esi
45bf8b:	5b                   	pop    %ebx
45bf8c:	c3                   	ret
45bf8d:	8d 40 00             	lea    0x0(%eax),%eax
45bf90:	80 78 40 00          	cmpb   $0x0,0x40(%eax)
45bf94:	75 09                	jne    0x45bf9f
45bf96:	83 78 48 00          	cmpl   $0x0,0x48(%eax)
45bf9a:	75 03                	jne    0x45bf9f
45bf9c:	33 c0                	xor    %eax,%eax
45bf9e:	c3                   	ret
45bf9f:	b0 01                	mov    $0x1,%al
45bfa1:	c3                   	ret
45bfa2:	8b c0                	mov    %eax,%eax
45bfa4:	eb 04                	jmp    0x45bfaa
45bfa6:	8b 40 64             	mov    0x64(%eax),%eax
45bfa9:	4a                   	dec    %edx
45bfaa:	85 d2                	test   %edx,%edx
45bfac:	7e 04                	jle    0x45bfb2
45bfae:	85 c0                	test   %eax,%eax
45bfb0:	75 f4                	jne    0x45bfa6
45bfb2:	c3                   	ret
45bfb3:	90                   	nop
45bfb4:	55                   	push   %ebp
45bfb5:	8b ec                	mov    %esp,%ebp
45bfb7:	83 c4 f8             	add    $0xfffffff8,%esp
45bfba:	53                   	push   %ebx
45bfbb:	56                   	push   %esi
45bfbc:	57                   	push   %edi
45bfbd:	8b f2                	mov    %edx,%esi
45bfbf:	8b d8                	mov    %eax,%ebx
45bfc1:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45bfc5:	8b 03                	mov    (%ebx),%eax
45bfc7:	8b 40 64             	mov    0x64(%eax),%eax
45bfca:	89 45 f8             	mov    %eax,-0x8(%ebp)
45bfcd:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
45bfd1:	74 13                	je     0x45bfe6
45bfd3:	8b 45 08             	mov    0x8(%ebp),%eax
45bfd6:	50                   	push   %eax
45bfd7:	8d 56 01             	lea    0x1(%esi),%edx
45bfda:	8d 45 f8             	lea    -0x8(%ebp),%eax
45bfdd:	e8 d2 ff ff ff       	call   0x45bfb4
45bfe2:	59                   	pop    %ecx
45bfe3:	88 45 ff             	mov    %al,-0x1(%ebp)
45bfe6:	8a 45 ff             	mov    -0x1(%ebp),%al
45bfe9:	84 c0                	test   %al,%al
45bfeb:	0f 84 0a 01 00 00    	je     0x45c0fb
45bff1:	2c 03                	sub    $0x3,%al
45bff3:	0f 84 02 01 00 00    	je     0x45c0fb
45bff9:	80 7d ff 02          	cmpb   $0x2,-0x1(%ebp)
45bffd:	75 76                	jne    0x45c075
45bfff:	8b 45 08             	mov    0x8(%ebp),%eax
45c002:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45c006:	74 13                	je     0x45c01b
45c008:	8b 45 08             	mov    0x8(%ebp),%eax
45c00b:	8b 40 fc             	mov    -0x4(%eax),%eax
45c00e:	66 8b 40 60          	mov    0x60(%eax),%ax
45c012:	8b 55 08             	mov    0x8(%ebp),%edx
45c015:	66 3b 42 fa          	cmp    -0x6(%edx),%ax
45c019:	74 2c                	je     0x45c047
45c01b:	8b 45 08             	mov    0x8(%ebp),%eax
45c01e:	0f b7 50 fa          	movzwl -0x6(%eax),%edx
45c022:	8b 45 08             	mov    0x8(%ebp),%eax
45c025:	8b 40 f4             	mov    -0xc(%eax),%eax
45c028:	b1 02                	mov    $0x2,%cl
45c02a:	e8 dd fd ff ff       	call   0x45be0c
45c02f:	8b 55 08             	mov    0x8(%ebp),%edx
45c032:	89 42 fc             	mov    %eax,-0x4(%edx)
45c035:	8b 45 08             	mov    0x8(%ebp),%eax
45c038:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45c03c:	75 09                	jne    0x45c047
45c03e:	c6 45 ff 03          	movb   $0x3,-0x1(%ebp)
45c042:	e9 b4 00 00 00       	jmp    0x45c0fb
45c047:	8b 45 08             	mov    0x8(%ebp),%eax
45c04a:	8b 40 fc             	mov    -0x4(%eax),%eax
45c04d:	8b d6                	mov    %esi,%edx
45c04f:	e8 50 ff ff ff       	call   0x45bfa4
45c054:	89 03                	mov    %eax,(%ebx)
45c056:	83 3b 00             	cmpl   $0x0,(%ebx)
45c059:	0f 84 9c 00 00 00    	je     0x45c0fb
45c05f:	8b 03                	mov    (%ebx),%eax
45c061:	8b 40 64             	mov    0x64(%eax),%eax
45c064:	3b 45 f8             	cmp    -0x8(%ebp),%eax
45c067:	0f 85 8e 00 00 00    	jne    0x45c0fb
45c06d:	85 f6                	test   %esi,%esi
45c06f:	75 04                	jne    0x45c075
45c071:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
45c075:	8b 03                	mov    (%ebx),%eax
45c077:	80 78 39 00          	cmpb   $0x0,0x39(%eax)
45c07b:	74 7a                	je     0x45c0f7
45c07d:	33 c0                	xor    %eax,%eax
45c07f:	55                   	push   %ebp
45c080:	68 d9 c0 45 00       	push   $0x45c0d9
45c085:	64 ff 30             	push   %fs:(%eax)
45c088:	64 89 20             	mov    %esp,%fs:(%eax)
45c08b:	8b 45 08             	mov    0x8(%ebp),%eax
45c08e:	8b 40 f4             	mov    -0xc(%eax),%eax
45c091:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
45c095:	75 07                	jne    0x45c09e
45c097:	8b 03                	mov    (%ebx),%eax
45c099:	e8 42 ee ff ff       	call   0x45aee0
45c09e:	8b 03                	mov    (%ebx),%eax
45c0a0:	8b 10                	mov    (%eax),%edx
45c0a2:	ff 52 44             	call   *0x44(%edx)
45c0a5:	8b 45 08             	mov    0x8(%ebp),%eax
45c0a8:	83 78 fc 00          	cmpl   $0x0,-0x4(%eax)
45c0ac:	74 1d                	je     0x45c0cb
45c0ae:	8b 03                	mov    (%ebx),%eax
45c0b0:	8b 55 08             	mov    0x8(%ebp),%edx
45c0b3:	3b 42 fc             	cmp    -0x4(%edx),%eax
45c0b6:	74 17                	je     0x45c0cf
45c0b8:	8b 45 08             	mov    0x8(%ebp),%eax
45c0bb:	8b 40 fc             	mov    -0x4(%eax),%eax
45c0be:	66 8b 40 60          	mov    0x60(%eax),%ax
45c0c2:	8b 55 08             	mov    0x8(%ebp),%edx
45c0c5:	66 3b 42 fa          	cmp    -0x6(%edx),%ax
45c0c9:	74 04                	je     0x45c0cf
45c0cb:	c6 45 ff 02          	movb   $0x2,-0x1(%ebp)
45c0cf:	33 c0                	xor    %eax,%eax
45c0d1:	5a                   	pop    %edx
45c0d2:	59                   	pop    %ecx
45c0d3:	59                   	pop    %ecx
45c0d4:	64 89 10             	mov    %edx,%fs:(%eax)
45c0d7:	eb 22                	jmp    0x45c0fb
45c0d9:	e9 7a 7e fa ff       	jmp    0x403f58
45c0de:	8b 45 08             	mov    0x8(%ebp),%eax
45c0e1:	8b 50 f4             	mov    -0xc(%eax),%edx
45c0e4:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
45c0e9:	8b 00                	mov    (%eax),%eax
45c0eb:	e8 74 dc 00 00       	call   0x469d64
45c0f0:	e8 cb 81 fa ff       	call   0x4042c0
45c0f5:	eb 04                	jmp    0x45c0fb
45c0f7:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
45c0fb:	8a 45 ff             	mov    -0x1(%ebp),%al
45c0fe:	5f                   	pop    %edi
45c0ff:	5e                   	pop    %esi
45c100:	5b                   	pop    %ebx
45c101:	59                   	pop    %ecx
45c102:	59                   	pop    %ecx
45c103:	5d                   	pop    %ebp
45c104:	c3                   	ret
45c105:	8d 40 00             	lea    0x0(%eax),%eax
45c108:	55                   	push   %ebp
45c109:	8b ec                	mov    %esp,%ebp
45c10b:	83 c4 ec             	add    $0xffffffec,%esp
45c10e:	53                   	push   %ebx
45c10f:	8b da                	mov    %edx,%ebx
45c111:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c114:	33 c0                	xor    %eax,%eax
45c116:	33 d2                	xor    %edx,%edx
45c118:	8a 53 04             	mov    0x4(%ebx),%dl
45c11b:	66 89 55 fa          	mov    %dx,-0x6(%ebp)
45c11f:	66 83 7d fa 00       	cmpw   $0x0,-0x6(%ebp)
45c124:	0f 84 f5 00 00 00    	je     0x45c21f
45c12a:	6a 10                	push   $0x10
45c12c:	e8 27 b9 fa ff       	call   0x407a58
45c131:	66 85 c0             	test   %ax,%ax
45c134:	7d 06                	jge    0x45c13c
45c136:	66 81 45 fa 00 20    	addw   $0x2000,-0x6(%ebp)
45c13c:	6a 11                	push   $0x11
45c13e:	e8 15 b9 fa ff       	call   0x407a58
45c143:	66 85 c0             	test   %ax,%ax
45c146:	7d 06                	jge    0x45c14e
45c148:	66 81 45 fa 00 40    	addw   $0x4000,-0x6(%ebp)
45c14e:	f6 43 0b 20          	testb  $0x20,0xb(%ebx)
45c152:	74 06                	je     0x45c15a
45c154:	66 81 45 fa 00 80    	addw   $0x8000,-0x6(%ebp)
45c15a:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c15d:	8b 40 34             	mov    0x34(%eax),%eax
45c160:	89 45 ec             	mov    %eax,-0x14(%ebp)
45c163:	8d 55 ec             	lea    -0x14(%ebp),%edx
45c166:	a1 30 8c 6a 00       	mov    0x6a8c30,%eax
45c16b:	e8 d0 3a fd ff       	call   0x42fc40
45c170:	33 c0                	xor    %eax,%eax
45c172:	55                   	push   %ebp
45c173:	68 06 c2 45 00       	push   $0x45c206
45c178:	64 ff 30             	push   %fs:(%eax)
45c17b:	64 89 20             	mov    %esp,%fs:(%eax)
45c17e:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
45c182:	0f b7 55 fa          	movzwl -0x6(%ebp),%edx
45c186:	b1 02                	mov    $0x2,%cl
45c188:	8b 45 f4             	mov    -0xc(%ebp),%eax
45c18b:	e8 7c fc ff ff       	call   0x45be0c
45c190:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c193:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45c197:	74 49                	je     0x45c1e2
45c199:	8d 55 fc             	lea    -0x4(%ebp),%edx
45c19c:	a1 30 8c 6a 00       	mov    0x6a8c30,%eax
45c1a1:	e8 9a 3a fd ff       	call   0x42fc40
45c1a6:	33 c0                	xor    %eax,%eax
45c1a8:	55                   	push   %ebp
45c1a9:	68 db c1 45 00       	push   $0x45c1db
45c1ae:	64 ff 30             	push   %fs:(%eax)
45c1b1:	64 89 20             	mov    %esp,%fs:(%eax)
45c1b4:	55                   	push   %ebp
45c1b5:	8d 45 fc             	lea    -0x4(%ebp),%eax
45c1b8:	33 d2                	xor    %edx,%edx
45c1ba:	e8 f5 fd ff ff       	call   0x45bfb4
45c1bf:	59                   	pop    %ecx
45c1c0:	88 45 f3             	mov    %al,-0xd(%ebp)
45c1c3:	33 c0                	xor    %eax,%eax
45c1c5:	5a                   	pop    %edx
45c1c6:	59                   	pop    %ecx
45c1c7:	59                   	pop    %ecx
45c1c8:	64 89 10             	mov    %edx,%fs:(%eax)
45c1cb:	68 e2 c1 45 00       	push   $0x45c1e2
45c1d0:	a1 30 8c 6a 00       	mov    0x6a8c30,%eax
45c1d5:	e8 5e 3a fd ff       	call   0x42fc38
45c1da:	c3                   	ret
45c1db:	e9 2c 80 fa ff       	jmp    0x40420c
45c1e0:	eb ee                	jmp    0x45c1d0
45c1e2:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
45c1e6:	74 06                	je     0x45c1ee
45c1e8:	80 7d f3 02          	cmpb   $0x2,-0xd(%ebp)
45c1ec:	74 90                	je     0x45c17e
45c1ee:	33 c0                	xor    %eax,%eax
45c1f0:	5a                   	pop    %edx
45c1f1:	59                   	pop    %ecx
45c1f2:	59                   	pop    %ecx
45c1f3:	64 89 10             	mov    %edx,%fs:(%eax)
45c1f6:	68 0d c2 45 00       	push   $0x45c20d
45c1fb:	a1 30 8c 6a 00       	mov    0x6a8c30,%eax
45c200:	e8 33 3a fd ff       	call   0x42fc38
45c205:	c3                   	ret
45c206:	e9 01 80 fa ff       	jmp    0x40420c
45c20b:	eb ee                	jmp    0x45c1fb
45c20d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45c211:	75 0a                	jne    0x45c21d
45c213:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
45c217:	74 04                	je     0x45c21d
45c219:	33 c0                	xor    %eax,%eax
45c21b:	eb 02                	jmp    0x45c21f
45c21d:	b0 01                	mov    $0x1,%al
45c21f:	5b                   	pop    %ebx
45c220:	8b e5                	mov    %ebp,%esp
45c222:	5d                   	pop    %ebp
45c223:	c3                   	ret
45c224:	8a 40 41             	mov    0x41(%eax),%al
45c227:	34 01                	xor    $0x1,%al
45c229:	c3                   	ret
45c22a:	8b c0                	mov    %eax,%eax
45c22c:	53                   	push   %ebx
45c22d:	56                   	push   %esi
45c22e:	83 c4 80             	add    $0xffffff80,%esp
45c231:	8b d8                	mov    %eax,%ebx
45c233:	a1 98 72 6a 00       	mov    0x6a7298,%eax
45c238:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
45c23c:	0f 84 9c 00 00 00    	je     0x45c2de
45c242:	83 7b 38 00          	cmpl   $0x0,0x38(%ebx)
45c246:	0f 84 92 00 00 00    	je     0x45c2de
45c24c:	8b c3                	mov    %ebx,%eax
45c24e:	8b 10                	mov    (%eax),%edx
45c250:	ff 52 34             	call   *0x34(%edx)
45c253:	8b f0                	mov    %eax,%esi
45c255:	c7 04 24 2c 00 00 00 	movl   $0x2c,(%esp)
45c25c:	c7 44 24 04 10 00 00 	movl   $0x10,0x4(%esp)
45c263:	00
45c264:	8d 44 24 30          	lea    0x30(%esp),%eax
45c268:	89 44 24 24          	mov    %eax,0x24(%esp)
45c26c:	c7 44 24 28 50 00 00 	movl   $0x50,0x28(%esp)
45c273:	00
45c274:	54                   	push   %esp
45c275:	6a ff                	push   $0xffffffff
45c277:	6a 00                	push   $0x0
45c279:	56                   	push   %esi
45c27a:	e8 21 b8 fa ff       	call   0x407aa0
45c27f:	85 c0                	test   %eax,%eax
45c281:	74 5b                	je     0x45c2de
45c283:	8b c3                	mov    %ebx,%eax
45c285:	e8 26 03 00 00       	call   0x45c5b0
45c28a:	8b 54 24 08          	mov    0x8(%esp),%edx
45c28e:	81 e2 00 60 00 00    	and    $0x6000,%edx
45c294:	83 fa 01             	cmp    $0x1,%edx
45c297:	1b d2                	sbb    %edx,%edx
45c299:	42                   	inc    %edx
45c29a:	3a c2                	cmp    %dl,%al
45c29c:	74 40                	je     0x45c2de
45c29e:	8b c3                	mov    %ebx,%eax
45c2a0:	e8 0b 03 00 00       	call   0x45c5b0
45c2a5:	83 e0 7f             	and    $0x7f,%eax
45c2a8:	c1 e0 0d             	shl    $0xd,%eax
45c2ab:	8d 04 40             	lea    (%eax,%eax,2),%eax
45c2ae:	8b 54 24 08          	mov    0x8(%esp),%edx
45c2b2:	81 e2 ff 9f ff ff    	and    $0xffff9fff,%edx
45c2b8:	0b c2                	or     %edx,%eax
45c2ba:	89 44 24 08          	mov    %eax,0x8(%esp)
45c2be:	c7 44 24 04 10 00 00 	movl   $0x10,0x4(%esp)
45c2c5:	00
45c2c6:	54                   	push   %esp
45c2c7:	6a ff                	push   $0xffffffff
45c2c9:	6a 00                	push   $0x0
45c2cb:	56                   	push   %esi
45c2cc:	e8 af ba fa ff       	call   0x407d80
45c2d1:	85 c0                	test   %eax,%eax
45c2d3:	74 09                	je     0x45c2de
45c2d5:	8b 43 38             	mov    0x38(%ebx),%eax
45c2d8:	50                   	push   %eax
45c2d9:	e8 52 b6 fa ff       	call   0x407930
45c2de:	81 c4 80 00 00 00    	add    $0x80,%esp
45c2e4:	5e                   	pop    %esi
45c2e5:	5b                   	pop    %ebx
45c2e6:	c3                   	ret
45c2e7:	90                   	nop
45c2e8:	55                   	push   %ebp
45c2e9:	8b ec                	mov    %esp,%ebp
45c2eb:	83 c4 f4             	add    $0xfffffff4,%esp
45c2ee:	53                   	push   %ebx
45c2ef:	56                   	push   %esi
45c2f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c2f3:	8b 45 fc             	mov    -0x4(%ebp),%eax
45c2f6:	50                   	push   %eax
45c2f7:	e8 94 b7 fa ff       	call   0x407a90
45c2fc:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c2ff:	8b 45 08             	mov    0x8(%ebp),%eax
45c302:	8d 98 00 fe ff ff    	lea    -0x200(%eax),%ebx
45c308:	8b 45 08             	mov    0x8(%ebp),%eax
45c30b:	83 c0 fb             	add    $0xfffffffb,%eax
45c30e:	89 45 f8             	mov    %eax,-0x8(%ebp)
45c311:	33 f6                	xor    %esi,%esi
45c313:	eb 60                	jmp    0x45c375
45c315:	53                   	push   %ebx
45c316:	8b 45 f8             	mov    -0x8(%ebp),%eax
45c319:	2b c3                	sub    %ebx,%eax
45c31b:	50                   	push   %eax
45c31c:	68 00 04 00 00       	push   $0x400
45c321:	8b 45 08             	mov    0x8(%ebp),%eax
45c324:	8b 80 fc fd ff ff    	mov    -0x204(%eax),%eax
45c32a:	8b ce                	mov    %esi,%ecx
45c32c:	8b 55 fc             	mov    -0x4(%ebp),%edx
45c32f:	e8 50 05 00 00       	call   0x45c884
45c334:	8b c3                	mov    %ebx,%eax
45c336:	e8 cd da fa ff       	call   0x409e08
45c33b:	8b d8                	mov    %eax,%ebx
45c33d:	68 00 04 00 00       	push   $0x400
45c342:	56                   	push   %esi
45c343:	8b 45 fc             	mov    -0x4(%ebp),%eax
45c346:	50                   	push   %eax
45c347:	e8 5c b7 fa ff       	call   0x407aa8
45c34c:	a8 02                	test   $0x2,%al