405d62:	59                   	pop    %ecx
405d63:	c3                   	ret
405d64:	6a 0c                	push   $0xc
405d66:	e8 55 0f 00 00       	call   0x406cc0
405d6b:	59                   	pop    %ecx
405d6c:	c3                   	ret
405d6d:	8b ff                	mov    %edi,%edi
405d6f:	56                   	push   %esi
405d70:	57                   	push   %edi
405d71:	ff 15 44 f0 40 00    	call   *0x40f044
405d77:	ff 35 6c 2b 41 00    	push   0x412b6c
405d7d:	8b f8                	mov    %eax,%edi
405d7f:	e8 c4 fe ff ff       	call   0x405c48
405d84:	ff d0                	call   *%eax
405d86:	8b f0                	mov    %eax,%esi
405d88:	85 f6                	test   %esi,%esi
405d8a:	75 4e                	jne    0x405dda
405d8c:	68 14 02 00 00       	push   $0x214
405d91:	6a 01                	push   $0x1
405d93:	e8 6c 0b 00 00       	call   0x406904
405d98:	8b f0                	mov    %eax,%esi
405d9a:	59                   	pop    %ecx
405d9b:	59                   	pop    %ecx
405d9c:	85 f6                	test   %esi,%esi
405d9e:	74 3a                	je     0x405dda
405da0:	56                   	push   %esi
405da1:	ff 35 6c 2b 41 00    	push   0x412b6c
405da7:	ff 35 4c 32 41 00    	push   0x41324c
405dad:	ff 15 90 f0 40 00    	call   *0x40f090
405db3:	ff d0                	call   *%eax
405db5:	85 c0                	test   %eax,%eax
405db7:	74 18                	je     0x405dd1
405db9:	6a 00                	push   $0x0
405dbb:	56                   	push   %esi
405dbc:	e8 f8 fe ff ff       	call   0x405cb9
405dc1:	59                   	pop    %ecx
405dc2:	59                   	pop    %ecx
405dc3:	ff 15 e0 f0 40 00    	call   *0x40f0e0
405dc9:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
405dcd:	89 06                	mov    %eax,(%esi)
405dcf:	eb 09                	jmp    0x405dda
405dd1:	56                   	push   %esi
405dd2:	e8 94 c1 ff ff       	call   0x401f6b
405dd7:	59                   	pop    %ecx
405dd8:	33 f6                	xor    %esi,%esi
405dda:	57                   	push   %edi
405ddb:	ff 15 dc f0 40 00    	call   *0x40f0dc
405de1:	5f                   	pop    %edi
405de2:	8b c6                	mov    %esi,%eax
405de4:	5e                   	pop    %esi
405de5:	c3                   	ret
405de6:	8b ff                	mov    %edi,%edi
405de8:	56                   	push   %esi
405de9:	e8 7f ff ff ff       	call   0x405d6d
405dee:	8b f0                	mov    %eax,%esi
405df0:	85 f6                	test   %esi,%esi
405df2:	75 08                	jne    0x405dfc
405df4:	6a 10                	push   $0x10
405df6:	e8 1c 06 00 00       	call   0x406417
405dfb:	59                   	pop    %ecx
405dfc:	8b c6                	mov    %esi,%eax
405dfe:	5e                   	pop    %esi
405dff:	c3                   	ret
405e00:	6a 08                	push   $0x8
405e02:	68 80 12 41 00       	push   $0x411280
405e07:	e8 64 e3 ff ff       	call   0x404170
405e0c:	8b 75 08             	mov    0x8(%ebp),%esi
405e0f:	85 f6                	test   %esi,%esi
405e11:	0f 84 f8 00 00 00    	je     0x405f0f
405e17:	8b 46 24             	mov    0x24(%esi),%eax
405e1a:	85 c0                	test   %eax,%eax
405e1c:	74 07                	je     0x405e25
405e1e:	50                   	push   %eax
405e1f:	e8 47 c1 ff ff       	call   0x401f6b
405e24:	59                   	pop    %ecx
405e25:	8b 46 2c             	mov    0x2c(%esi),%eax
405e28:	85 c0                	test   %eax,%eax
405e2a:	74 07                	je     0x405e33
405e2c:	50                   	push   %eax
405e2d:	e8 39 c1 ff ff       	call   0x401f6b
405e32:	59                   	pop    %ecx
405e33:	8b 46 34             	mov    0x34(%esi),%eax
405e36:	85 c0                	test   %eax,%eax
405e38:	74 07                	je     0x405e41
405e3a:	50                   	push   %eax
405e3b:	e8 2b c1 ff ff       	call   0x401f6b
405e40:	59                   	pop    %ecx
405e41:	8b 46 3c             	mov    0x3c(%esi),%eax
405e44:	85 c0                	test   %eax,%eax
405e46:	74 07                	je     0x405e4f
405e48:	50                   	push   %eax
405e49:	e8 1d c1 ff ff       	call   0x401f6b
405e4e:	59                   	pop    %ecx
405e4f:	8b 46 40             	mov    0x40(%esi),%eax
405e52:	85 c0                	test   %eax,%eax
405e54:	74 07                	je     0x405e5d
405e56:	50                   	push   %eax
405e57:	e8 0f c1 ff ff       	call   0x401f6b
405e5c:	59                   	pop    %ecx
405e5d:	8b 46 44             	mov    0x44(%esi),%eax
405e60:	85 c0                	test   %eax,%eax
405e62:	74 07                	je     0x405e6b
405e64:	50                   	push   %eax
405e65:	e8 01 c1 ff ff       	call   0x401f6b
405e6a:	59                   	pop    %ecx
405e6b:	8b 46 48             	mov    0x48(%esi),%eax
405e6e:	85 c0                	test   %eax,%eax
405e70:	74 07                	je     0x405e79
405e72:	50                   	push   %eax
405e73:	e8 f3 c0 ff ff       	call   0x401f6b
405e78:	59                   	pop    %ecx
405e79:	8b 46 5c             	mov    0x5c(%esi),%eax
405e7c:	3d b0 08 41 00       	cmp    $0x4108b0,%eax
405e81:	74 07                	je     0x405e8a
405e83:	50                   	push   %eax
405e84:	e8 e2 c0 ff ff       	call   0x401f6b
405e89:	59                   	pop    %ecx
405e8a:	6a 0d                	push   $0xd
405e8c:	e8 08 0f 00 00       	call   0x406d99
405e91:	59                   	pop    %ecx
405e92:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405e96:	8b 7e 68             	mov    0x68(%esi),%edi
405e99:	85 ff                	test   %edi,%edi
405e9b:	74 1a                	je     0x405eb7
405e9d:	57                   	push   %edi
405e9e:	ff 15 b8 f0 40 00    	call   *0x40f0b8
405ea4:	85 c0                	test   %eax,%eax
405ea6:	75 0f                	jne    0x405eb7
405ea8:	81 ff 00 24 41 00    	cmp    $0x412400,%edi
405eae:	74 07                	je     0x405eb7
405eb0:	57                   	push   %edi
405eb1:	e8 b5 c0 ff ff       	call   0x401f6b
405eb6:	59                   	pop    %ecx
405eb7:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405ebe:	e8 57 00 00 00       	call   0x405f1a
405ec3:	6a 0c                	push   $0xc
405ec5:	e8 cf 0e 00 00       	call   0x406d99
405eca:	59                   	pop    %ecx
405ecb:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
405ed2:	8b 7e 6c             	mov    0x6c(%esi),%edi
405ed5:	85 ff                	test   %edi,%edi
405ed7:	74 23                	je     0x405efc
405ed9:	57                   	push   %edi
405eda:	e8 ad fa ff ff       	call   0x40598c
405edf:	59                   	pop    %ecx
405ee0:	3b 3d 68 2b 41 00    	cmp    0x412b68,%edi
405ee6:	74 14                	je     0x405efc
405ee8:	81 ff 90 2a 41 00    	cmp    $0x412a90,%edi
405eee:	74 0c                	je     0x405efc
405ef0:	83 3f 00             	cmpl   $0x0,(%edi)
405ef3:	75 07                	jne    0x405efc
405ef5:	57                   	push   %edi
405ef6:	e8 2a fb ff ff       	call   0x405a25
405efb:	59                   	pop    %ecx
405efc:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
405f03:	e8 1e 00 00 00       	call   0x405f26
405f08:	56                   	push   %esi
405f09:	e8 5d c0 ff ff       	call   0x401f6b
405f0e:	59                   	pop    %ecx
405f0f:	e8 a1 e2 ff ff       	call   0x4041b5
405f14:	c2 04 00             	ret    $0x4
405f17:	8b 75 08             	mov    0x8(%ebp),%esi
405f1a:	6a 0d                	push   $0xd
405f1c:	e8 9f 0d 00 00       	call   0x406cc0
405f21:	59                   	pop    %ecx
405f22:	c3                   	ret
405f23:	8b 75 08             	mov    0x8(%ebp),%esi
405f26:	6a 0c                	push   $0xc
405f28:	e8 93 0d 00 00       	call   0x406cc0
405f2d:	59                   	pop    %ecx
405f2e:	c3                   	ret
405f2f:	8b ff                	mov    %edi,%edi
405f31:	57                   	push   %edi
405f32:	68 4c f5 40 00       	push   $0x40f54c
405f37:	ff 15 d8 f0 40 00    	call   *0x40f0d8
405f3d:	8b f8                	mov    %eax,%edi
405f3f:	85 ff                	test   %edi,%edi
405f41:	75 09                	jne    0x405f4c
405f43:	e8 34 fd ff ff       	call   0x405c7c
405f48:	33 c0                	xor    %eax,%eax
405f4a:	5f                   	pop    %edi
405f4b:	c3                   	ret
405f4c:	56                   	push   %esi
405f4d:	8b 35 e4 f0 40 00    	mov    0x40f0e4,%esi
405f53:	68 88 f5 40 00       	push   $0x40f588
405f58:	57                   	push   %edi
405f59:	ff d6                	call   *%esi
405f5b:	68 7c f5 40 00       	push   $0x40f57c
405f60:	57                   	push   %edi
405f61:	a3 44 32 41 00       	mov    %eax,0x413244
405f66:	ff d6                	call   *%esi
405f68:	68 70 f5 40 00       	push   $0x40f570
405f6d:	57                   	push   %edi
405f6e:	a3 48 32 41 00       	mov    %eax,0x413248
405f73:	ff d6                	call   *%esi
405f75:	68 68 f5 40 00       	push   $0x40f568
405f7a:	57                   	push   %edi
405f7b:	a3 4c 32 41 00       	mov    %eax,0x41324c
405f80:	ff d6                	call   *%esi
405f82:	83 3d 44 32 41 00 00 	cmpl   $0x0,0x413244
405f89:	8b 35 d0 f0 40 00    	mov    0x40f0d0,%esi
405f8f:	a3 50 32 41 00       	mov    %eax,0x413250
405f94:	74 16                	je     0x405fac
405f96:	83 3d 48 32 41 00 00 	cmpl   $0x0,0x413248
405f9d:	74 0d                	je     0x405fac
405f9f:	83 3d 4c 32 41 00 00 	cmpl   $0x0,0x41324c
405fa6:	74 04                	je     0x405fac
405fa8:	85 c0                	test   %eax,%eax
405faa:	75 24                	jne    0x405fd0
405fac:	a1 cc f0 40 00       	mov    0x40f0cc,%eax
405fb1:	a3 48 32 41 00       	mov    %eax,0x413248
405fb6:	a1 d4 f0 40 00       	mov    0x40f0d4,%eax
405fbb:	c7 05 44 32 41 00 3f 	movl   $0x405c3f,0x413244
405fc2:	5c 40 00
405fc5:	89 35 4c 32 41 00    	mov    %esi,0x41324c
405fcb:	a3 50 32 41 00       	mov    %eax,0x413250
405fd0:	ff 15 c8 f0 40 00    	call   *0x40f0c8
405fd6:	a3 70 2b 41 00       	mov    %eax,0x412b70
405fdb:	83 f8 ff             	cmp    $0xffffffff,%eax
405fde:	0f 84 c1 00 00 00    	je     0x4060a5
405fe4:	ff 35 48 32 41 00    	push   0x413248
405fea:	50                   	push   %eax
405feb:	ff d6                	call   *%esi
405fed:	85 c0                	test   %eax,%eax
405fef:	0f 84 b0 00 00 00    	je     0x4060a5
405ff5:	e8 a5 01 00 00       	call   0x40619f
405ffa:	ff 35 44 32 41 00    	push   0x413244
406000:	8b 35 8c f0 40 00    	mov    0x40f08c,%esi
406006:	ff d6                	call   *%esi
406008:	ff 35 48 32 41 00    	push   0x413248
40600e:	a3 44 32 41 00       	mov    %eax,0x413244
406013:	ff d6                	call   *%esi
406015:	ff 35 4c 32 41 00    	push   0x41324c
40601b:	a3 48 32 41 00       	mov    %eax,0x413248
406020:	ff d6                	call   *%esi
406022:	ff 35 50 32 41 00    	push   0x413250
406028:	a3 4c 32 41 00       	mov    %eax,0x41324c
40602d:	ff d6                	call   *%esi
40602f:	a3 50 32 41 00       	mov    %eax,0x413250
406034:	e8 e6 0b 00 00       	call   0x406c1f
406039:	85 c0                	test   %eax,%eax
40603b:	74 63                	je     0x4060a0
40603d:	8b 3d 90 f0 40 00    	mov    0x40f090,%edi
406043:	68 00 5e 40 00       	push   $0x405e00
406048:	ff 35 44 32 41 00    	push   0x413244
40604e:	ff d7                	call   *%edi
406050:	ff d0                	call   *%eax
406052:	a3 6c 2b 41 00       	mov    %eax,0x412b6c
406057:	83 f8 ff             	cmp    $0xffffffff,%eax
40605a:	74 44                	je     0x4060a0
40605c:	68 14 02 00 00       	push   $0x214
406061:	6a 01                	push   $0x1
406063:	e8 9c 08 00 00       	call   0x406904
406068:	8b f0                	mov    %eax,%esi
40606a:	59                   	pop    %ecx
40606b:	59                   	pop    %ecx
40606c:	85 f6                	test   %esi,%esi
40606e:	74 30                	je     0x4060a0
406070:	56                   	push   %esi
406071:	ff 35 6c 2b 41 00    	push   0x412b6c
406077:	ff 35 4c 32 41 00    	push   0x41324c
40607d:	ff d7                	call   *%edi
40607f:	ff d0                	call   *%eax
406081:	85 c0                	test   %eax,%eax
406083:	74 1b                	je     0x4060a0
406085:	6a 00                	push   $0x0
406087:	56                   	push   %esi
406088:	e8 2c fc ff ff       	call   0x405cb9
40608d:	59                   	pop    %ecx
40608e:	59                   	pop    %ecx
40608f:	ff 15 e0 f0 40 00    	call   *0x40f0e0
406095:	83 4e 04 ff          	orl    $0xffffffff,0x4(%esi)
406099:	89 06                	mov    %eax,(%esi)
40609b:	33 c0                	xor    %eax,%eax
40609d:	40                   	inc    %eax
40609e:	eb 07                	jmp    0x4060a7
4060a0:	e8 d7 fb ff ff       	call   0x405c7c
4060a5:	33 c0                	xor    %eax,%eax
4060a7:	5e                   	pop    %esi
4060a8:	5f                   	pop    %edi
4060a9:	c3                   	ret
4060aa:	8b ff                	mov    %edi,%edi
4060ac:	55                   	push   %ebp
4060ad:	8b ec                	mov    %esp,%ebp
4060af:	b8 ff ff 00 00       	mov    $0xffff,%eax
4060b4:	83 ec 14             	sub    $0x14,%esp
4060b7:	66 39 45 08          	cmp    %ax,0x8(%ebp)
4060bb:	0f 84 87 00 00 00    	je     0x406148
4060c1:	53                   	push   %ebx
4060c2:	56                   	push   %esi
4060c3:	ff 75 0c             	push   0xc(%ebp)
4060c6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4060c9:	e8 17 bf ff ff       	call   0x401fe5
4060ce:	8b 75 ec             	mov    -0x14(%ebp),%esi
4060d1:	8b 4e 14             	mov    0x14(%esi),%ecx
4060d4:	33 db                	xor    %ebx,%ebx
4060d6:	3b cb                	cmp    %ebx,%ecx
4060d8:	75 15                	jne    0x4060ef
4060da:	8b 45 08             	mov    0x8(%ebp),%eax
4060dd:	8d 48 bf             	lea    -0x41(%eax),%ecx
4060e0:	66 83 f9 19          	cmp    $0x19,%cx
4060e4:	77 04                	ja     0x4060ea
4060e6:	66 83 c0 20          	add    $0x20,%ax
4060ea:	0f b7 c0             	movzwl %ax,%eax
4060ed:	eb 4b                	jmp    0x40613a
4060ef:	b8 00 01 00 00       	mov    $0x100,%eax
4060f4:	6a 01                	push   $0x1
4060f6:	66 39 45 08          	cmp    %ax,0x8(%ebp)
4060fa:	73 1e                	jae    0x40611a
4060fc:	ff 75 08             	push   0x8(%ebp)
4060ff:	e8 57 c9 ff ff       	call   0x402a5b
406104:	59                   	pop    %ecx
406105:	85 c0                	test   %eax,%eax
406107:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
40610b:	59                   	pop    %ecx
40610c:	74 2c                	je     0x40613a
40610e:	8b 8e cc 00 00 00    	mov    0xcc(%esi),%ecx
406114:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
406118:	eb 20                	jmp    0x40613a
40611a:	8d 55 fc             	lea    -0x4(%ebp),%edx
40611d:	52                   	push   %edx
40611e:	6a 01                	push   $0x1
406120:	8d 55 08             	lea    0x8(%ebp),%edx
406123:	52                   	push   %edx
406124:	50                   	push   %eax
406125:	51                   	push   %ecx
406126:	e8 77 0e 00 00       	call   0x406fa2
40612b:	83 c4 18             	add    $0x18,%esp
40612e:	85 c0                	test   %eax,%eax
406130:	0f b7 45 08          	movzwl 0x8(%ebp),%eax
406134:	74 04                	je     0x40613a
406136:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
40613a:	38 5d f8             	cmp    %bl,-0x8(%ebp)
40613d:	74 07                	je     0x406146
40613f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
406142:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
406146:	5e                   	pop    %esi
406147:	5b                   	pop    %ebx
406148:	c9                   	leave
406149:	c3                   	ret
40614a:	8b ff                	mov    %edi,%edi
40614c:	55                   	push   %ebp
40614d:	8b ec                	mov    %esp,%ebp
40614f:	68 28 f6 40 00       	push   $0x40f628
406154:	ff 15 d8 f0 40 00    	call   *0x40f0d8
40615a:	85 c0                	test   %eax,%eax
40615c:	74 15                	je     0x406173
40615e:	68 18 f6 40 00       	push   $0x40f618
406163:	50                   	push   %eax
406164:	ff 15 e4 f0 40 00    	call   *0x40f0e4