40fb5d:	6a 00                	push   $0x0
40fb5f:	eb 14                	jmp    0x40fb75
40fb61:	81 7d 0c 82 00 00 00 	cmpl   $0x82,0xc(%ebp)
40fb68:	75 12                	jne    0x40fb7c
40fb6a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fb6d:	6a 00                	push   $0x0
40fb6f:	6a 08                	push   $0x8
40fb71:	83 60 04 00          	andl   $0x0,0x4(%eax)
40fb75:	57                   	push   %edi
40fb76:	ff 15 24 b2 41 00    	call   *0x41b224
40fb7c:	5f                   	pop    %edi
40fb7d:	5e                   	pop    %esi
40fb7e:	8b c3                	mov    %ebx,%eax
40fb80:	5b                   	pop    %ebx
40fb81:	c9                   	leave
40fb82:	c2 10 00             	ret    $0x10
40fb85:	8b ff                	mov    %edi,%edi
40fb87:	55                   	push   %ebp
40fb88:	8b ec                	mov    %esp,%ebp
40fb8a:	51                   	push   %ecx
40fb8b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40fb8f:	56                   	push   %esi
40fb90:	8b f1                	mov    %ecx,%esi
40fb92:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40fb95:	e8 06 ff ff ff       	call   0x40faa0
40fb9a:	85 c0                	test   %eax,%eax
40fb9c:	74 18                	je     0x40fbb6
40fb9e:	ff 75 08             	push   0x8(%ebp)
40fba1:	68 00 fb 40 00       	push   $0x40fb00
40fba6:	56                   	push   %esi
40fba7:	ff 75 fc             	push   -0x4(%ebp)
40fbaa:	ff 35 18 a3 41 00    	push   0x41a318
40fbb0:	ff 15 88 b2 41 00    	call   *0x41b288
40fbb6:	5e                   	pop    %esi
40fbb7:	c9                   	leave
40fbb8:	c2 04 00             	ret    $0x4
40fbbb:	8b ff                	mov    %edi,%edi
40fbbd:	55                   	push   %ebp
40fbbe:	8b ec                	mov    %esp,%ebp
40fbc0:	83 ec 0c             	sub    $0xc,%esp
40fbc3:	53                   	push   %ebx
40fbc4:	56                   	push   %esi
40fbc5:	8b da                	mov    %edx,%ebx
40fbc7:	33 f6                	xor    %esi,%esi
40fbc9:	89 5d f4             	mov    %ebx,-0xc(%ebp)
40fbcc:	89 75 f8             	mov    %esi,-0x8(%ebp)
40fbcf:	89 75 fc             	mov    %esi,-0x4(%ebp)
40fbd2:	89 33                	mov    %esi,(%ebx)
40fbd4:	6a 02                	push   $0x2
40fbd6:	58                   	pop    %eax
40fbd7:	83 e9 01             	sub    $0x1,%ecx
40fbda:	74 30                	je     0x40fc0c
40fbdc:	83 e9 01             	sub    $0x1,%ecx
40fbdf:	74 27                	je     0x40fc08
40fbe1:	2b c8                	sub    %eax,%ecx
40fbe3:	74 1f                	je     0x40fc04
40fbe5:	83 e9 04             	sub    $0x4,%ecx
40fbe8:	74 16                	je     0x40fc00
40fbea:	83 e9 08             	sub    $0x8,%ecx
40fbed:	74 0d                	je     0x40fbfc
40fbef:	83 e9 10             	sub    $0x10,%ecx
40fbf2:	0f 85 a6 00 00 00    	jne    0x40fc9e
40fbf8:	6a 56                	push   $0x56
40fbfa:	eb 12                	jmp    0x40fc0e
40fbfc:	6a 55                	push   $0x55
40fbfe:	eb 0e                	jmp    0x40fc0e
40fc00:	6a 54                	push   $0x54
40fc02:	eb 0a                	jmp    0x40fc0e
40fc04:	6a 53                	push   $0x53
40fc06:	eb 06                	jmp    0x40fc0e
40fc08:	6a 52                	push   $0x52
40fc0a:	eb 02                	jmp    0x40fc0e
40fc0c:	6a 51                	push   $0x51
40fc0e:	59                   	pop    %ecx
40fc0f:	57                   	push   %edi
40fc10:	8d 55 f8             	lea    -0x8(%ebp),%edx
40fc13:	e8 cd fd ff ff       	call   0x40f9e5
40fc18:	8b f8                	mov    %eax,%edi
40fc1a:	39 75 08             	cmp    %esi,0x8(%ebp)
40fc1d:	74 11                	je     0x40fc30
40fc1f:	6a 07                	push   $0x7
40fc21:	8d 55 fc             	lea    -0x4(%ebp),%edx
40fc24:	59                   	pop    %ecx
40fc25:	e8 bb fd ff ff       	call   0x40f9e5
40fc2a:	8b 75 fc             	mov    -0x4(%ebp),%esi
40fc2d:	47                   	inc    %edi
40fc2e:	03 f8                	add    %eax,%edi
40fc30:	85 ff                	test   %edi,%edi
40fc32:	74 69                	je     0x40fc9d
40fc34:	83 c7 11             	add    $0x11,%edi
40fc37:	33 c9                	xor    %ecx,%ecx
40fc39:	6a 02                	push   $0x2
40fc3b:	5a                   	pop    %edx
40fc3c:	8b c7                	mov    %edi,%eax
40fc3e:	f7 e2                	mul    %edx
40fc40:	0f 90 c1             	seto   %cl
40fc43:	f7 d9                	neg    %ecx
40fc45:	0b c8                	or     %eax,%ecx
40fc47:	51                   	push   %ecx
40fc48:	e8 3f 39 00 00       	call   0x41358c
40fc4d:	89 03                	mov    %eax,(%ebx)
40fc4f:	59                   	pop    %ecx
40fc50:	85 c0                	test   %eax,%eax
40fc52:	74 49                	je     0x40fc9d
40fc54:	8b 5d f8             	mov    -0x8(%ebp),%ebx
40fc57:	85 db                	test   %ebx,%ebx
40fc59:	74 15                	je     0x40fc70
40fc5b:	6a ff                	push   $0xffffffff
40fc5d:	53                   	push   %ebx
40fc5e:	57                   	push   %edi
40fc5f:	50                   	push   %eax
40fc60:	ff 15 e8 b2 41 00    	call   *0x41b2e8
40fc66:	53                   	push   %ebx
40fc67:	ff 15 24 b3 41 00    	call   *0x41b324
40fc6d:	83 c4 14             	add    $0x14,%esp
40fc70:	85 f6                	test   %esi,%esi
40fc72:	74 29                	je     0x40fc9d
40fc74:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40fc77:	6a ff                	push   $0xffffffff
40fc79:	68 00 40 40 00       	push   $0x404000
40fc7e:	57                   	push   %edi
40fc7f:	ff 33                	push   (%ebx)
40fc81:	ff 15 68 b3 41 00    	call   *0x41b368
40fc87:	6a ff                	push   $0xffffffff
40fc89:	56                   	push   %esi
40fc8a:	57                   	push   %edi
40fc8b:	ff 33                	push   (%ebx)
40fc8d:	ff 15 68 b3 41 00    	call   *0x41b368
40fc93:	56                   	push   %esi
40fc94:	ff 15 24 b3 41 00    	call   *0x41b324
40fc9a:	83 c4 24             	add    $0x24,%esp
40fc9d:	5f                   	pop    %edi
40fc9e:	5e                   	pop    %esi
40fc9f:	5b                   	pop    %ebx
40fca0:	c9                   	leave
40fca1:	c2 04 00             	ret    $0x4
40fca4:	8b ff                	mov    %edi,%edi
40fca6:	55                   	push   %ebp
40fca7:	8b ec                	mov    %esp,%ebp
40fca9:	83 ec 34             	sub    $0x34,%esp
40fcac:	a1 18 51 41 00       	mov    0x415118,%eax
40fcb1:	33 c5                	xor    %ebp,%eax
40fcb3:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fcb6:	53                   	push   %ebx
40fcb7:	56                   	push   %esi
40fcb8:	8b c1                	mov    %ecx,%eax
40fcba:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40fcbd:	57                   	push   %edi
40fcbe:	51                   	push   %ecx
40fcbf:	50                   	push   %eax
40fcc0:	89 45 d0             	mov    %eax,-0x30(%ebp)
40fcc3:	ff 15 f8 b1 41 00    	call   *0x41b1f8
40fcc9:	6a 00                	push   $0x0
40fccb:	8d 45 dc             	lea    -0x24(%ebp),%eax
40fcce:	50                   	push   %eax
40fccf:	6a 00                	push   $0x0
40fcd1:	6a 30                	push   $0x30
40fcd3:	ff 15 ac b2 41 00    	call   *0x41b2ac
40fcd9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40fcdc:	03 45 dc             	add    -0x24(%ebp),%eax
40fcdf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40fce2:	2b 4d ec             	sub    -0x14(%ebp),%ecx
40fce5:	8b 5d e8             	mov    -0x18(%ebp),%ebx
40fce8:	8b 7d e0             	mov    -0x20(%ebp),%edi
40fceb:	99                   	cltd
40fcec:	2b c2                	sub    %edx,%eax
40fcee:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
40fcf1:	8b f0                	mov    %eax,%esi
40fcf3:	8b c1                	mov    %ecx,%eax
40fcf5:	99                   	cltd
40fcf6:	2b c2                	sub    %edx,%eax
40fcf8:	d1 fe                	sar    $1,%esi
40fcfa:	d1 f8                	sar    $1,%eax
40fcfc:	2b f0                	sub    %eax,%esi
40fcfe:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fd01:	2b 45 f0             	sub    -0x10(%ebp),%eax
40fd04:	89 45 d8             	mov    %eax,-0x28(%ebp)
40fd07:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
40fd0a:	99                   	cltd
40fd0b:	2b c2                	sub    %edx,%eax
40fd0d:	8b c8                	mov    %eax,%ecx
40fd0f:	8b 45 d8             	mov    -0x28(%ebp),%eax
40fd12:	99                   	cltd
40fd13:	2b c2                	sub    %edx,%eax
40fd15:	d1 f9                	sar    $1,%ecx
40fd17:	d1 f8                	sar    $1,%eax
40fd19:	2b c8                	sub    %eax,%ecx
40fd1b:	8b 45 dc             	mov    -0x24(%ebp),%eax
40fd1e:	3b f0                	cmp    %eax,%esi
40fd20:	7d 04                	jge    0x40fd26
40fd22:	8b f0                	mov    %eax,%esi
40fd24:	eb 14                	jmp    0x40fd3a
40fd26:	8b 45 d4             	mov    -0x2c(%ebp),%eax
40fd29:	8b 55 e4             	mov    -0x1c(%ebp),%edx
40fd2c:	03 c6                	add    %esi,%eax
40fd2e:	3b c2                	cmp    %edx,%eax
40fd30:	7e 08                	jle    0x40fd3a
40fd32:	8b 75 ec             	mov    -0x14(%ebp),%esi
40fd35:	2b 75 f4             	sub    -0xc(%ebp),%esi
40fd38:	03 f2                	add    %edx,%esi
40fd3a:	3b cf                	cmp    %edi,%ecx
40fd3c:	7d 04                	jge    0x40fd42
40fd3e:	8b cf                	mov    %edi,%ecx
40fd40:	eb 11                	jmp    0x40fd53
40fd42:	8b 45 d8             	mov    -0x28(%ebp),%eax
40fd45:	03 c1                	add    %ecx,%eax
40fd47:	3b c3                	cmp    %ebx,%eax
40fd49:	7e 08                	jle    0x40fd53
40fd4b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40fd4e:	2b 4d f8             	sub    -0x8(%ebp),%ecx
40fd51:	03 cb                	add    %ebx,%ecx
40fd53:	6a 15                	push   $0x15
40fd55:	6a ff                	push   $0xffffffff
40fd57:	6a ff                	push   $0xffffffff
40fd59:	51                   	push   %ecx
40fd5a:	56                   	push   %esi
40fd5b:	6a 00                	push   $0x0
40fd5d:	ff 75 d0             	push   -0x30(%ebp)
40fd60:	ff 15 a4 b2 41 00    	call   *0x41b2a4
40fd66:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fd69:	5f                   	pop    %edi
40fd6a:	5e                   	pop    %esi
40fd6b:	33 cd                	xor    %ebp,%ecx
40fd6d:	5b                   	pop    %ebx
40fd6e:	e8 6d 3b 00 00       	call   0x4138e0
40fd73:	c9                   	leave
40fd74:	c3                   	ret
40fd75:	8b ff                	mov    %edi,%edi
40fd77:	56                   	push   %esi
40fd78:	57                   	push   %edi
40fd79:	6a 00                	push   $0x0
40fd7b:	ff 15 84 b2 41 00    	call   *0x41b284
40fd81:	8b f0                	mov    %eax,%esi
40fd83:	85 f6                	test   %esi,%esi
40fd85:	74 16                	je     0x40fd9d
40fd87:	6a 5a                	push   $0x5a
40fd89:	56                   	push   %esi
40fd8a:	ff 15 a4 b0 41 00    	call   *0x41b0a4
40fd90:	56                   	push   %esi
40fd91:	6a 00                	push   $0x0
40fd93:	8b f8                	mov    %eax,%edi
40fd95:	ff 15 80 b2 41 00    	call   *0x41b280
40fd9b:	eb 03                	jmp    0x40fda0
40fd9d:	6a 60                	push   $0x60
40fd9f:	5f                   	pop    %edi
40fda0:	8b c7                	mov    %edi,%eax
40fda2:	5f                   	pop    %edi
40fda3:	5e                   	pop    %esi
40fda4:	c3                   	ret
40fda5:	cc                   	int3
40fda6:	cc                   	int3
40fda7:	cc                   	int3
40fda8:	cc                   	int3
40fda9:	cc                   	int3
40fdaa:	cc                   	int3
40fdab:	cc                   	int3
40fdac:	cc                   	int3
40fdad:	cc                   	int3
40fdae:	cc                   	int3
40fdaf:	cc                   	int3
40fdb0:	8b ff                	mov    %edi,%edi
40fdb2:	55                   	push   %ebp
40fdb3:	8b ec                	mov    %esp,%ebp
40fdb5:	56                   	push   %esi
40fdb6:	8b 75 08             	mov    0x8(%ebp),%esi
40fdb9:	57                   	push   %edi
40fdba:	8b 7d 0c             	mov    0xc(%ebp),%edi
40fdbd:	6a 0d                	push   $0xd
40fdbf:	8d 04 3e             	lea    (%esi,%edi,1),%eax
40fdc2:	a8 01                	test   $0x1,%al
40fdc4:	74 0d                	je     0x40fdd3
40fdc6:	ff 15 5c b2 41 00    	call   *0x41b25c
40fdcc:	35 ff ff ff 00       	xor    $0xffffff,%eax
40fdd1:	eb 06                	jmp    0x40fdd9
40fdd3:	ff 15 5c b2 41 00    	call   *0x41b25c
40fdd9:	50                   	push   %eax
40fdda:	57                   	push   %edi
40fddb:	56                   	push   %esi
40fddc:	ff 75 10             	push   0x10(%ebp)
40fddf:	ff 15 a8 b0 41 00    	call   *0x41b0a8
40fde5:	5f                   	pop    %edi
40fde6:	5e                   	pop    %esi
40fde7:	5d                   	pop    %ebp
40fde8:	c2 0c 00             	ret    $0xc
40fdeb:	8b ff                	mov    %edi,%edi
40fded:	55                   	push   %ebp
40fdee:	8b ec                	mov    %esp,%ebp
40fdf0:	83 ec 0c             	sub    $0xc,%esp
40fdf3:	53                   	push   %ebx
40fdf4:	57                   	push   %edi
40fdf5:	8b c2                	mov    %edx,%eax
40fdf7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40fdfa:	6a 02                	push   $0x2
40fdfc:	33 ff                	xor    %edi,%edi
40fdfe:	8d 55 fc             	lea    -0x4(%ebp),%edx
40fe01:	5b                   	pop    %ebx
40fe02:	8b c8                	mov    %eax,%ecx
40fe04:	89 7d fc             	mov    %edi,-0x4(%ebp)
40fe07:	89 7d f8             	mov    %edi,-0x8(%ebp)
40fe0a:	e8 d6 fb ff ff       	call   0x40f9e5
40fe0f:	85 c0                	test   %eax,%eax
40fe11:	74 3f                	je     0x40fe52
40fe13:	39 7d fc             	cmp    %edi,-0x4(%ebp)
40fe16:	74 3a                	je     0x40fe52
40fe18:	8b 0d 80 93 41 00    	mov    0x419380,%ecx
40fe1e:	8d 55 f8             	lea    -0x8(%ebp),%edx
40fe21:	57                   	push   %edi
40fe22:	e8 94 fd ff ff       	call   0x40fbbb
40fe27:	8b 7d f8             	mov    -0x8(%ebp),%edi
40fe2a:	85 ff                	test   %edi,%edi
40fe2c:	74 1a                	je     0x40fe48
40fe2e:	ff 75 0c             	push   0xc(%ebp)
40fe31:	57                   	push   %edi
40fe32:	ff 75 fc             	push   -0x4(%ebp)
40fe35:	ff 75 f4             	push   -0xc(%ebp)
40fe38:	ff 15 38 b2 41 00    	call   *0x41b238
40fe3e:	57                   	push   %edi
40fe3f:	8b d8                	mov    %eax,%ebx
40fe41:	ff 15 24 b3 41 00    	call   *0x41b324
40fe47:	59                   	pop    %ecx
40fe48:	ff 75 fc             	push   -0x4(%ebp)
40fe4b:	ff 15 24 b3 41 00    	call   *0x41b324
40fe51:	59                   	pop    %ecx
40fe52:	5f                   	pop    %edi
40fe53:	8b c3                	mov    %ebx,%eax
40fe55:	5b                   	pop    %ebx
40fe56:	c9                   	leave
40fe57:	c2 08 00             	ret    $0x8
40fe5a:	6a 04                	push   $0x4
40fe5c:	b8 ed 43 41 00       	mov    $0x4143ed,%eax
40fe61:	e8 d9 3d 00 00       	call   0x413c3f
40fe66:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40fe69:	51                   	push   %ecx
40fe6a:	51                   	push   %ecx
40fe6b:	e8 2b 31 00 00       	call   0x412f9b
40fe70:	8d 41 1c             	lea    0x1c(%ecx),%eax
40fe73:	89 45 f0             	mov    %eax,-0x10(%ebp)
40fe76:	83 60 04 00          	andl   $0x0,0x4(%eax)
40fe7a:	c7 00 54 15 40 00    	movl   $0x401554,(%eax)
40fe80:	c7 01 c8 17 40 00    	movl   $0x4017c8,(%ecx)
40fe86:	8b c1                	mov    %ecx,%eax
40fe88:	e8 8f 3d 00 00       	call   0x413c1c
40fe8d:	c2 04 00             	ret    $0x4
40fe90:	8b ff                	mov    %edi,%edi
40fe92:	55                   	push   %ebp
40fe93:	8b ec                	mov    %esp,%ebp
40fe95:	56                   	push   %esi
40fe96:	8b f1                	mov    %ecx,%esi
40fe98:	e8 15 00 00 00       	call   0x40feb2
40fe9d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)