409c76:	8b ec                	mov    %esp,%ebp
409c78:	6a ff                	push   $0xffffffff
409c7a:	68 5e 80 41 00       	push   $0x41805e
409c7f:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
409c85:	50                   	push   %eax
409c86:	51                   	push   %ecx
409c87:	56                   	push   %esi
409c88:	a1 c0 10 42 00       	mov    0x4210c0,%eax
409c8d:	33 c5                	xor    %ebp,%eax
409c8f:	50                   	push   %eax
409c90:	8d 45 f4             	lea    -0xc(%ebp),%eax
409c93:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
409c99:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
409c9d:	8d 45 f0             	lea    -0x10(%ebp),%eax
409ca0:	50                   	push   %eax
409ca1:	68 6c a2 41 00       	push   $0x41a26c
409ca6:	6a 00                	push   $0x0
409ca8:	ff 15 c8 90 41 00    	call   *0x4190c8
409cae:	85 c0                	test   %eax,%eax
409cb0:	74 21                	je     0x409cd3
409cb2:	68 84 a2 41 00       	push   $0x41a284
409cb7:	ff 75 f0             	push   -0x10(%ebp)
409cba:	ff 15 b4 90 41 00    	call   *0x4190b4
409cc0:	8b f0                	mov    %eax,%esi
409cc2:	85 f6                	test   %esi,%esi
409cc4:	74 0d                	je     0x409cd3
409cc6:	ff 75 08             	push   0x8(%ebp)
409cc9:	8b ce                	mov    %esi,%ecx
409ccb:	ff 15 54 91 41 00    	call   *0x419154
409cd1:	ff d6                	call   *%esi
409cd3:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
409cd7:	74 09                	je     0x409ce2
409cd9:	ff 75 f0             	push   -0x10(%ebp)
409cdc:	ff 15 b0 90 41 00    	call   *0x4190b0
409ce2:	8b 4d f4             	mov    -0xc(%ebp),%ecx
409ce5:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409cec:	59                   	pop    %ecx
409ced:	5e                   	pop    %esi
409cee:	c9                   	leave
409cef:	c3                   	ret
409cf0:	cc                   	int3
409cf1:	cc                   	int3
409cf2:	cc                   	int3
409cf3:	cc                   	int3
409cf4:	cc                   	int3
409cf5:	8b ff                	mov    %edi,%edi
409cf7:	55                   	push   %ebp
409cf8:	8b ec                	mov    %esp,%ebp
409cfa:	8b 45 08             	mov    0x8(%ebp),%eax
409cfd:	a3 78 20 42 00       	mov    %eax,0x422078
409d02:	5d                   	pop    %ebp
409d03:	c3                   	ret
409d04:	6a 01                	push   $0x1
409d06:	6a 02                	push   $0x2
409d08:	6a 00                	push   $0x0
409d0a:	e8 83 fe ff ff       	call   0x409b92
409d0f:	83 c4 0c             	add    $0xc,%esp
409d12:	c3                   	ret
409d13:	6a 01                	push   $0x1
409d15:	6a 00                	push   $0x0
409d17:	6a 00                	push   $0x0
409d19:	e8 74 fe ff ff       	call   0x409b92
409d1e:	83 c4 0c             	add    $0xc,%esp
409d21:	c3                   	ret
409d22:	8b ff                	mov    %edi,%edi
409d24:	55                   	push   %ebp
409d25:	8b ec                	mov    %esp,%ebp
409d27:	6a 00                	push   $0x0
409d29:	6a 02                	push   $0x2
409d2b:	ff 75 08             	push   0x8(%ebp)
409d2e:	e8 5f fe ff ff       	call   0x409b92
409d33:	83 c4 0c             	add    $0xc,%esp
409d36:	5d                   	pop    %ebp
409d37:	c3                   	ret
409d38:	8b ff                	mov    %edi,%edi
409d3a:	55                   	push   %ebp
409d3b:	8b ec                	mov    %esp,%ebp
409d3d:	a1 78 20 42 00       	mov    0x422078,%eax
409d42:	3b 05 c0 10 42 00    	cmp    0x4210c0,%eax
409d48:	0f 85 a0 07 00 00    	jne    0x40a4ee
409d4e:	ff 75 08             	push   0x8(%ebp)
409d51:	e8 f3 f5 ff ff       	call   0x409349
409d56:	59                   	pop    %ecx
409d57:	a3 78 20 42 00       	mov    %eax,0x422078
409d5c:	5d                   	pop    %ebp
409d5d:	c3                   	ret
409d5e:	8b ff                	mov    %edi,%edi
409d60:	55                   	push   %ebp
409d61:	8b ec                	mov    %esp,%ebp
409d63:	6a 00                	push   $0x0
409d65:	6a 00                	push   $0x0
409d67:	ff 75 08             	push   0x8(%ebp)
409d6a:	e8 23 fe ff ff       	call   0x409b92
409d6f:	83 c4 0c             	add    $0xc,%esp
409d72:	5d                   	pop    %ebp
409d73:	c3                   	ret
409d74:	8b ff                	mov    %edi,%edi
409d76:	55                   	push   %ebp
409d77:	8b ec                	mov    %esp,%ebp
409d79:	8b 4d 08             	mov    0x8(%ebp),%ecx
409d7c:	85 c9                	test   %ecx,%ecx
409d7e:	75 15                	jne    0x409d95
409d80:	e8 aa 09 00 00       	call   0x40a72f
409d85:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
409d8b:	e8 39 d7 ff ff       	call   0x4074c9
409d90:	6a 16                	push   $0x16
409d92:	58                   	pop    %eax
409d93:	5d                   	pop    %ebp
409d94:	c3                   	ret
409d95:	a1 30 25 42 00       	mov    0x422530,%eax
409d9a:	90                   	nop
409d9b:	89 01                	mov    %eax,(%ecx)
409d9d:	33 c0                	xor    %eax,%eax
409d9f:	5d                   	pop    %ebp
409da0:	c3                   	ret
409da1:	8b ff                	mov    %edi,%edi
409da3:	55                   	push   %ebp
409da4:	8b ec                	mov    %esp,%ebp
409da6:	8b 45 08             	mov    0x8(%ebp),%eax
409da9:	3d 00 40 00 00       	cmp    $0x4000,%eax
409dae:	74 23                	je     0x409dd3
409db0:	3d 00 80 00 00       	cmp    $0x8000,%eax
409db5:	74 1c                	je     0x409dd3
409db7:	3d 00 00 01 00       	cmp    $0x10000,%eax
409dbc:	74 15                	je     0x409dd3
409dbe:	e8 6c 09 00 00       	call   0x40a72f
409dc3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
409dc9:	e8 fb d6 ff ff       	call   0x4074c9
409dce:	6a 16                	push   $0x16
409dd0:	58                   	pop    %eax
409dd1:	5d                   	pop    %ebp
409dd2:	c3                   	ret
409dd3:	b9 30 25 42 00       	mov    $0x422530,%ecx
409dd8:	87 01                	xchg   %eax,(%ecx)
409dda:	33 c0                	xor    %eax,%eax
409ddc:	5d                   	pop    %ebp
409ddd:	c3                   	ret
409dde:	8b ff                	mov    %edi,%edi
409de0:	55                   	push   %ebp
409de1:	8b ec                	mov    %esp,%ebp
409de3:	51                   	push   %ecx
409de4:	8b 45 08             	mov    0x8(%ebp),%eax
409de7:	53                   	push   %ebx
409de8:	56                   	push   %esi
409de9:	57                   	push   %edi
409dea:	8b f8                	mov    %eax,%edi
409dec:	83 e0 3f             	and    $0x3f,%eax
409def:	c1 ff 06             	sar    $0x6,%edi
409df2:	6b d0 38             	imul   $0x38,%eax,%edx
409df5:	8b 34 bd a8 21 42 00 	mov    0x4221a8(,%edi,4),%esi
409dfc:	8a 44 16 28          	mov    0x28(%esi,%edx,1),%al
409e00:	8a 5c 16 29          	mov    0x29(%esi,%edx,1),%bl
409e04:	0f b6 c8             	movzbl %al,%ecx
409e07:	81 e1 80 00 00 00    	and    $0x80,%ecx
409e0d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
409e10:	8b 4d 0c             	mov    0xc(%ebp),%ecx
409e13:	81 f9 00 40 00 00    	cmp    $0x4000,%ecx
409e19:	74 50                	je     0x409e6b
409e1b:	81 f9 00 80 00 00    	cmp    $0x8000,%ecx
409e21:	74 40                	je     0x409e63
409e23:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
409e29:	74 24                	je     0x409e4f
409e2b:	81 f9 00 00 02 00    	cmp    $0x20000,%ecx
409e31:	74 1c                	je     0x409e4f
409e33:	81 f9 00 00 04 00    	cmp    $0x40000,%ecx
409e39:	75 42                	jne    0x409e7d
409e3b:	0c 80                	or     $0x80,%al
409e3d:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
409e41:	8b 04 bd a8 21 42 00 	mov    0x4221a8(,%edi,4),%eax
409e48:	c6 44 10 29 01       	movb   $0x1,0x29(%eax,%edx,1)
409e4d:	eb 2e                	jmp    0x409e7d
409e4f:	0c 80                	or     $0x80,%al
409e51:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
409e55:	8b 04 bd a8 21 42 00 	mov    0x4221a8(,%edi,4),%eax
409e5c:	c6 44 10 29 02       	movb   $0x2,0x29(%eax,%edx,1)
409e61:	eb 1a                	jmp    0x409e7d
409e63:	24 7f                	and    $0x7f,%al
409e65:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
409e69:	eb 12                	jmp    0x409e7d
409e6b:	0c 80                	or     $0x80,%al
409e6d:	88 44 16 28          	mov    %al,0x28(%esi,%edx,1)
409e71:	8b 0c bd a8 21 42 00 	mov    0x4221a8(,%edi,4),%ecx
409e78:	c6 44 11 29 00       	movb   $0x0,0x29(%ecx,%edx,1)
409e7d:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
409e81:	75 07                	jne    0x409e8a
409e83:	b8 00 80 00 00       	mov    $0x8000,%eax
409e88:	eb 1e                	jmp    0x409ea8
409e8a:	84 db                	test   %bl,%bl
409e8c:	75 07                	jne    0x409e95
409e8e:	b8 00 40 00 00       	mov    $0x4000,%eax
409e93:	eb 13                	jmp    0x409ea8
409e95:	33 c0                	xor    %eax,%eax
409e97:	80 fb 01             	cmp    $0x1,%bl
409e9a:	0f 95 c0             	setne  %al
409e9d:	48                   	dec    %eax
409e9e:	25 00 00 03 00       	and    $0x30000,%eax
409ea3:	05 00 00 01 00       	add    $0x10000,%eax
409ea8:	5f                   	pop    %edi
409ea9:	5e                   	pop    %esi
409eaa:	5b                   	pop    %ebx
409eab:	c9                   	leave
409eac:	c3                   	ret
409ead:	ff 15 cc 90 41 00    	call   *0x4190cc
409eb3:	a3 90 20 42 00       	mov    %eax,0x422090
409eb8:	ff 15 30 90 41 00    	call   *0x419030
409ebe:	a3 94 20 42 00       	mov    %eax,0x422094
409ec3:	b0 01                	mov    $0x1,%al
409ec5:	c3                   	ret
409ec6:	b8 84 20 42 00       	mov    $0x422084,%eax
409ecb:	c3                   	ret
409ecc:	b8 8c 20 42 00       	mov    $0x42208c,%eax
409ed1:	c3                   	ret
409ed2:	6a 0c                	push   $0xc
409ed4:	68 a0 ff 41 00       	push   $0x41ffa0
409ed9:	e8 c2 9f ff ff       	call   0x403ea0
409ede:	8b 45 08             	mov    0x8(%ebp),%eax
409ee1:	ff 30                	push   (%eax)
409ee3:	e8 a4 40 00 00       	call   0x40df8c
409ee8:	59                   	pop    %ecx
409ee9:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
409eed:	be b4 23 42 00       	mov    $0x4223b4,%esi
409ef2:	bf 28 12 42 00       	mov    $0x421228,%edi
409ef7:	89 75 e4             	mov    %esi,-0x1c(%ebp)
409efa:	81 fe b8 23 42 00    	cmp    $0x4223b8,%esi
409f00:	74 14                	je     0x409f16
409f02:	39 3e                	cmp    %edi,(%esi)
409f04:	74 0b                	je     0x409f11
409f06:	57                   	push   %edi
409f07:	56                   	push   %esi
409f08:	e8 bb 61 00 00       	call   0x4100c8
409f0d:	59                   	pop    %ecx
409f0e:	59                   	pop    %ecx
409f0f:	89 06                	mov    %eax,(%esi)
409f11:	83 c6 04             	add    $0x4,%esi
409f14:	eb e1                	jmp    0x409ef7
409f16:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
409f1d:	e8 12 00 00 00       	call   0x409f34
409f22:	8b 4d f0             	mov    -0x10(%ebp),%ecx
409f25:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
409f2c:	59                   	pop    %ecx
409f2d:	5f                   	pop    %edi
409f2e:	5e                   	pop    %esi
409f2f:	5b                   	pop    %ebx
409f30:	c9                   	leave
409f31:	c2 0c 00             	ret    $0xc
409f34:	8b 45 10             	mov    0x10(%ebp),%eax
409f37:	ff 30                	push   (%eax)
409f39:	e8 96 40 00 00       	call   0x40dfd4
409f3e:	59                   	pop    %ecx
409f3f:	c3                   	ret
409f40:	33 c0                	xor    %eax,%eax
409f42:	b9 98 20 42 00       	mov    $0x422098,%ecx
409f47:	40                   	inc    %eax
409f48:	87 01                	xchg   %eax,(%ecx)
409f4a:	c3                   	ret
409f4b:	8b ff                	mov    %edi,%edi
409f4d:	55                   	push   %ebp
409f4e:	8b ec                	mov    %esp,%ebp
409f50:	83 ec 0c             	sub    $0xc,%esp
409f53:	6a 04                	push   $0x4
409f55:	58                   	pop    %eax
409f56:	89 45 f8             	mov    %eax,-0x8(%ebp)
409f59:	8d 4d ff             	lea    -0x1(%ebp),%ecx
409f5c:	89 45 f4             	mov    %eax,-0xc(%ebp)
409f5f:	8d 45 f8             	lea    -0x8(%ebp),%eax
409f62:	50                   	push   %eax
409f63:	8d 45 ff             	lea    -0x1(%ebp),%eax
409f66:	50                   	push   %eax
409f67:	8d 45 f4             	lea    -0xc(%ebp),%eax
409f6a:	50                   	push   %eax
409f6b:	e8 62 ff ff ff       	call   0x409ed2
409f70:	c9                   	leave
409f71:	c3                   	ret
409f72:	8b ff                	mov    %edi,%edi
409f74:	55                   	push   %ebp
409f75:	8b ec                	mov    %esp,%ebp
409f77:	56                   	push   %esi
409f78:	e8 30 24 00 00       	call   0x40c3ad
409f7d:	8b 55 08             	mov    0x8(%ebp),%edx
409f80:	8b f0                	mov    %eax,%esi
409f82:	6a 00                	push   $0x0
409f84:	58                   	pop    %eax
409f85:	8b 8e 50 03 00 00    	mov    0x350(%esi),%ecx
409f8b:	f6 c1 02             	test   $0x2,%cl
409f8e:	0f 94 c0             	sete   %al
409f91:	40                   	inc    %eax
409f92:	83 fa ff             	cmp    $0xffffffff,%edx
409f95:	74 33                	je     0x409fca
409f97:	85 d2                	test   %edx,%edx
409f99:	74 36                	je     0x409fd1
409f9b:	83 fa 01             	cmp    $0x1,%edx
409f9e:	74 1f                	je     0x409fbf
409fa0:	83 fa 02             	cmp    $0x2,%edx
409fa3:	74 15                	je     0x409fba
409fa5:	e8 85 07 00 00       	call   0x40a72f
409faa:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
409fb0:	e8 14 d5 ff ff       	call   0x4074c9
409fb5:	83 c8 ff             	or     $0xffffffff,%eax
409fb8:	eb 17                	jmp    0x409fd1
409fba:	83 e1 fd             	and    $0xfffffffd,%ecx
409fbd:	eb 03                	jmp    0x409fc2
409fbf:	83 c9 02             	or     $0x2,%ecx
409fc2:	89 8e 50 03 00 00    	mov    %ecx,0x350(%esi)
409fc8:	eb 07                	jmp    0x409fd1
409fca:	83 0d 68 18 42 00 ff 	orl    $0xffffffff,0x421868
409fd1:	5e                   	pop    %esi
409fd2:	5d                   	pop    %ebp
409fd3:	c3                   	ret
409fd4:	a1 9c 20 42 00       	mov    0x42209c,%eax
409fd9:	90                   	nop
409fda:	c3                   	ret
409fdb:	8b ff                	mov    %edi,%edi
409fdd:	55                   	push   %ebp
409fde:	8b ec                	mov    %esp,%ebp
409fe0:	8b 45 08             	mov    0x8(%ebp),%eax
409fe3:	85 c0                	test   %eax,%eax
409fe5:	74 1a                	je     0x40a001
409fe7:	83 f8 01             	cmp    $0x1,%eax
409fea:	74 15                	je     0x40a001
409fec:	e8 3e 07 00 00       	call   0x40a72f
409ff1:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
409ff7:	e8 cd d4 ff ff       	call   0x4074c9
409ffc:	83 c8 ff             	or     $0xffffffff,%eax
409fff:	5d                   	pop    %ebp
40a000:	c3                   	ret
40a001:	b9 9c 20 42 00       	mov    $0x42209c,%ecx
40a006:	87 01                	xchg   %eax,(%ecx)
40a008:	5d                   	pop    %ebp
40a009:	c3                   	ret
40a00a:	b8 a0 20 42 00       	mov    $0x4220a0,%eax
40a00f:	c3                   	ret
40a010:	6a 0c                	push   $0xc
40a012:	68 08 00 42 00       	push   $0x420008
40a017:	e8 84 9e ff ff       	call   0x403ea0
40a01c:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
40a020:	8b 45 08             	mov    0x8(%ebp),%eax
40a023:	ff 30                	push   (%eax)
40a025:	e8 62 3f 00 00       	call   0x40df8c
40a02a:	59                   	pop    %ecx
40a02b:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40a02f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40a032:	e8 91 01 00 00       	call   0x40a1c8
40a037:	8b f0                	mov    %eax,%esi
40a039:	89 75 e4             	mov    %esi,-0x1c(%ebp)
40a03c:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40a043:	e8 17 00 00 00       	call   0x40a05f
40a048:	8b c6                	mov    %esi,%eax
40a04a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40a04d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40a054:	59                   	pop    %ecx