412d54:	8b f1                	mov    %ecx,%esi
412d56:	74 27                	je     0x412d7f
412d58:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
412d5f:	74 1e                	je     0x412d7f
412d61:	8d 55 f0             	lea    -0x10(%ebp),%edx
412d64:	b9 c8 02 00 00       	mov    $0x2c8,%ecx
412d69:	e8 d3 ba ff ff       	call   0x40e841
412d6e:	ff 75 f0             	push   -0x10(%ebp)
412d71:	68 6d 01 00 00       	push   $0x16d
412d76:	e8 d8 b8 ff ff       	call   0x40e653
412d7b:	8b 07                	mov    (%edi),%eax
412d7d:	59                   	pop    %ecx
412d7e:	59                   	pop    %ecx
412d7f:	b9 00 20 00 00       	mov    $0x2000,%ecx
412d84:	85 c1                	test   %eax,%ecx
412d86:	74 29                	je     0x412db1
412d88:	0b f1                	or     %ecx,%esi
412d8a:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412d91:	74 1e                	je     0x412db1
412d93:	8d 55 f0             	lea    -0x10(%ebp),%edx
412d96:	b9 c9 02 00 00       	mov    $0x2c9,%ecx
412d9b:	e8 a1 ba ff ff       	call   0x40e841
412da0:	ff 75 f0             	push   -0x10(%ebp)
412da3:	68 6d 01 00 00       	push   $0x16d
412da8:	e8 a6 b8 ff ff       	call   0x40e653
412dad:	8b 07                	mov    (%edi),%eax
412daf:	59                   	pop    %ecx
412db0:	59                   	pop    %ecx
412db1:	b9 00 40 00 00       	mov    $0x4000,%ecx
412db6:	85 c1                	test   %eax,%ecx
412db8:	74 29                	je     0x412de3
412dba:	0b f1                	or     %ecx,%esi
412dbc:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412dc3:	74 1e                	je     0x412de3
412dc5:	8d 55 f0             	lea    -0x10(%ebp),%edx
412dc8:	b9 ca 02 00 00       	mov    $0x2ca,%ecx
412dcd:	e8 6f ba ff ff       	call   0x40e841
412dd2:	ff 75 f0             	push   -0x10(%ebp)
412dd5:	68 6d 01 00 00       	push   $0x16d
412dda:	e8 74 b8 ff ff       	call   0x40e653
412ddf:	8b 07                	mov    (%edi),%eax
412de1:	59                   	pop    %ecx
412de2:	59                   	pop    %ecx
412de3:	b9 00 80 00 00       	mov    $0x8000,%ecx
412de8:	85 c1                	test   %eax,%ecx
412dea:	74 29                	je     0x412e15
412dec:	0b f1                	or     %ecx,%esi
412dee:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412df5:	74 1e                	je     0x412e15
412df7:	8d 55 f0             	lea    -0x10(%ebp),%edx
412dfa:	b9 cb 02 00 00       	mov    $0x2cb,%ecx
412dff:	e8 3d ba ff ff       	call   0x40e841
412e04:	ff 75 f0             	push   -0x10(%ebp)
412e07:	68 6d 01 00 00       	push   $0x16d
412e0c:	e8 42 b8 ff ff       	call   0x40e653
412e11:	8b 07                	mov    (%edi),%eax
412e13:	59                   	pop    %ecx
412e14:	59                   	pop    %ecx
412e15:	b9 00 00 01 00       	mov    $0x10000,%ecx
412e1a:	85 c1                	test   %eax,%ecx
412e1c:	74 29                	je     0x412e47
412e1e:	0b f1                	or     %ecx,%esi
412e20:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412e27:	74 1e                	je     0x412e47
412e29:	8d 55 f0             	lea    -0x10(%ebp),%edx
412e2c:	b9 cc 02 00 00       	mov    $0x2cc,%ecx
412e31:	e8 0b ba ff ff       	call   0x40e841
412e36:	ff 75 f0             	push   -0x10(%ebp)
412e39:	68 6d 01 00 00       	push   $0x16d
412e3e:	e8 10 b8 ff ff       	call   0x40e653
412e43:	8b 07                	mov    (%edi),%eax
412e45:	59                   	pop    %ecx
412e46:	59                   	pop    %ecx
412e47:	b9 00 00 02 00       	mov    $0x20000,%ecx
412e4c:	85 c1                	test   %eax,%ecx
412e4e:	74 29                	je     0x412e79
412e50:	0b f1                	or     %ecx,%esi
412e52:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412e59:	74 1e                	je     0x412e79
412e5b:	8d 55 f0             	lea    -0x10(%ebp),%edx
412e5e:	b9 cd 02 00 00       	mov    $0x2cd,%ecx
412e63:	e8 d9 b9 ff ff       	call   0x40e841
412e68:	ff 75 f0             	push   -0x10(%ebp)
412e6b:	68 6d 01 00 00       	push   $0x16d
412e70:	e8 de b7 ff ff       	call   0x40e653
412e75:	8b 07                	mov    (%edi),%eax
412e77:	59                   	pop    %ecx
412e78:	59                   	pop    %ecx
412e79:	b9 00 00 04 00       	mov    $0x40000,%ecx
412e7e:	85 c1                	test   %eax,%ecx
412e80:	74 27                	je     0x412ea9
412e82:	0b f1                	or     %ecx,%esi
412e84:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412e8b:	74 1c                	je     0x412ea9
412e8d:	8d 55 f0             	lea    -0x10(%ebp),%edx
412e90:	b9 ce 02 00 00       	mov    $0x2ce,%ecx
412e95:	e8 a7 b9 ff ff       	call   0x40e841
412e9a:	ff 75 f0             	push   -0x10(%ebp)
412e9d:	68 6d 01 00 00       	push   $0x16d
412ea2:	e8 ac b7 ff ff       	call   0x40e653
412ea7:	59                   	pop    %ecx
412ea8:	59                   	pop    %ecx
412ea9:	8b 45 ec             	mov    -0x14(%ebp),%eax
412eac:	81 cb 00 e0 0f 00    	or     $0xfe000,%ebx
412eb2:	85 c0                	test   %eax,%eax
412eb4:	74 33                	je     0x412ee9
412eb6:	b9 00 00 08 00       	mov    $0x80000,%ecx
412ebb:	85 0f                	test   %ecx,(%edi)
412ebd:	74 2a                	je     0x412ee9
412ebf:	0b f1                	or     %ecx,%esi
412ec1:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412ec8:	74 1f                	je     0x412ee9
412eca:	8d 55 f0             	lea    -0x10(%ebp),%edx
412ecd:	b9 cf 02 00 00       	mov    $0x2cf,%ecx
412ed2:	e8 6a b9 ff ff       	call   0x40e841
412ed7:	ff 75 f0             	push   -0x10(%ebp)
412eda:	68 6d 01 00 00       	push   $0x16d
412edf:	e8 6f b7 ff ff       	call   0x40e653
412ee4:	8b 45 ec             	mov    -0x14(%ebp),%eax
412ee7:	59                   	pop    %ecx
412ee8:	59                   	pop    %ecx
412ee9:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
412ef0:	b9 00 00 10 00       	mov    $0x100000,%ecx
412ef5:	74 02                	je     0x412ef9
412ef7:	0b d9                	or     %ecx,%ebx
412ef9:	85 c0                	test   %eax,%eax
412efb:	74 37                	je     0x412f34
412efd:	85 0f                	test   %ecx,(%edi)
412eff:	74 33                	je     0x412f34
412f01:	0b f1                	or     %ecx,%esi
412f03:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412f0a:	74 28                	je     0x412f34
412f0c:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
412f13:	74 1f                	je     0x412f34
412f15:	8d 55 f0             	lea    -0x10(%ebp),%edx
412f18:	b9 d0 02 00 00       	mov    $0x2d0,%ecx
412f1d:	e8 1f b9 ff ff       	call   0x40e841
412f22:	ff 75 f0             	push   -0x10(%ebp)
412f25:	68 6d 01 00 00       	push   $0x16d
412f2a:	e8 24 b7 ff ff       	call   0x40e653
412f2f:	8b 45 ec             	mov    -0x14(%ebp),%eax
412f32:	59                   	pop    %ecx
412f33:	59                   	pop    %ecx
412f34:	b9 00 00 20 00       	mov    $0x200000,%ecx
412f39:	0b d9                	or     %ecx,%ebx
412f3b:	85 c0                	test   %eax,%eax
412f3d:	74 2e                	je     0x412f6d
412f3f:	85 0f                	test   %ecx,(%edi)
412f41:	74 2a                	je     0x412f6d
412f43:	0b f1                	or     %ecx,%esi
412f45:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412f4c:	74 1f                	je     0x412f6d
412f4e:	8d 55 f0             	lea    -0x10(%ebp),%edx
412f51:	b9 d1 02 00 00       	mov    $0x2d1,%ecx
412f56:	e8 e6 b8 ff ff       	call   0x40e841
412f5b:	ff 75 f0             	push   -0x10(%ebp)
412f5e:	68 6d 01 00 00       	push   $0x16d
412f63:	e8 eb b6 ff ff       	call   0x40e653
412f68:	8b 45 ec             	mov    -0x14(%ebp),%eax
412f6b:	59                   	pop    %ecx
412f6c:	59                   	pop    %ecx
412f6d:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
412f74:	b9 00 00 40 00       	mov    $0x400000,%ecx
412f79:	74 02                	je     0x412f7d
412f7b:	0b d9                	or     %ecx,%ebx
412f7d:	85 c0                	test   %eax,%eax
412f7f:	0f 84 9d 00 00 00    	je     0x413022
412f85:	8b 07                	mov    (%edi),%eax
412f87:	85 c1                	test   %eax,%ecx
412f89:	74 32                	je     0x412fbd
412f8b:	0b f1                	or     %ecx,%esi
412f8d:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412f94:	74 27                	je     0x412fbd
412f96:	83 3d 38 1f 42 00 00 	cmpl   $0x0,0x421f38
412f9d:	74 1e                	je     0x412fbd
412f9f:	8d 55 f0             	lea    -0x10(%ebp),%edx
412fa2:	b9 d2 02 00 00       	mov    $0x2d2,%ecx
412fa7:	e8 95 b8 ff ff       	call   0x40e841
412fac:	ff 75 f0             	push   -0x10(%ebp)
412faf:	68 6d 01 00 00       	push   $0x16d
412fb4:	e8 9a b6 ff ff       	call   0x40e653
412fb9:	8b 07                	mov    (%edi),%eax
412fbb:	59                   	pop    %ecx
412fbc:	59                   	pop    %ecx
412fbd:	b9 00 00 80 00       	mov    $0x800000,%ecx
412fc2:	85 c1                	test   %eax,%ecx
412fc4:	74 29                	je     0x412fef
412fc6:	0b f1                	or     %ecx,%esi
412fc8:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
412fcf:	74 1e                	je     0x412fef
412fd1:	8d 55 f0             	lea    -0x10(%ebp),%edx
412fd4:	b9 d3 02 00 00       	mov    $0x2d3,%ecx
412fd9:	e8 63 b8 ff ff       	call   0x40e841
412fde:	ff 75 f0             	push   -0x10(%ebp)
412fe1:	68 6d 01 00 00       	push   $0x16d
412fe6:	e8 68 b6 ff ff       	call   0x40e653
412feb:	8b 07                	mov    (%edi),%eax
412fed:	59                   	pop    %ecx
412fee:	59                   	pop    %ecx
412fef:	b9 00 00 00 01       	mov    $0x1000000,%ecx
412ff4:	85 c1                	test   %eax,%ecx
412ff6:	74 27                	je     0x41301f
412ff8:	0b f1                	or     %ecx,%esi
412ffa:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
413001:	74 1c                	je     0x41301f
413003:	8d 55 f0             	lea    -0x10(%ebp),%edx
413006:	b9 d4 02 00 00       	mov    $0x2d4,%ecx
41300b:	e8 31 b8 ff ff       	call   0x40e841
413010:	ff 75 f0             	push   -0x10(%ebp)
413013:	68 6d 01 00 00       	push   $0x16d
413018:	e8 36 b6 ff ff       	call   0x40e653
41301d:	59                   	pop    %ecx
41301e:	59                   	pop    %ecx
41301f:	8b 45 ec             	mov    -0x14(%ebp),%eax
413022:	81 cb 00 00 80 03    	or     $0x3800000,%ebx
413028:	85 c0                	test   %eax,%eax
41302a:	74 30                	je     0x41305c
41302c:	b8 00 00 00 02       	mov    $0x2000000,%eax
413031:	85 07                	test   %eax,(%edi)
413033:	74 27                	je     0x41305c
413035:	0b f0                	or     %eax,%esi
413037:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
41303e:	74 1c                	je     0x41305c
413040:	8d 55 f0             	lea    -0x10(%ebp),%edx
413043:	b9 d5 02 00 00       	mov    $0x2d5,%ecx
413048:	e8 f4 b7 ff ff       	call   0x40e841
41304d:	ff 75 f0             	push   -0x10(%ebp)
413050:	68 6d 01 00 00       	push   $0x16d
413055:	e8 f9 b5 ff ff       	call   0x40e653
41305a:	59                   	pop    %ecx
41305b:	59                   	pop    %ecx
41305c:	8b 07                	mov    (%edi),%eax
41305e:	8b cb                	mov    %ebx,%ecx
413060:	f7 d1                	not    %ecx
413062:	23 c8                	and    %eax,%ecx
413064:	74 1e                	je     0x413084
413066:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
41306d:	74 11                	je     0x413080
41306f:	51                   	push   %ecx
413070:	50                   	push   %eax
413071:	68 7a 01 00 00       	push   $0x17a
413076:	e8 d8 b5 ff ff       	call   0x40e653
41307b:	8b 07                	mov    (%edi),%eax
41307d:	83 c4 0c             	add    $0xc,%esp
413080:	23 c3                	and    %ebx,%eax
413082:	89 07                	mov    %eax,(%edi)
413084:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
413088:	74 08                	je     0x413092
41308a:	f7 d6                	not    %esi
41308c:	23 f0                	and    %eax,%esi
41308e:	89 37                	mov    %esi,(%edi)
413090:	8b c6                	mov    %esi,%eax
413092:	a8 10                	test   $0x10,%al
413094:	75 23                	jne    0x4130b9
413096:	a9 00 66 00 00       	test   $0x6600,%eax
41309b:	74 1c                	je     0x4130b9
41309d:	83 3d 30 1f 42 00 00 	cmpl   $0x0,0x421f30
4130a4:	74 0e                	je     0x4130b4
4130a6:	ba 6e 01 00 00       	mov    $0x16e,%edx
4130ab:	33 c9                	xor    %ecx,%ecx
4130ad:	e8 d2 b6 ff ff       	call   0x40e784
4130b2:	8b 07                	mov    (%edi),%eax
4130b4:	83 c8 10             	or     $0x10,%eax
4130b7:	89 07                	mov    %eax,(%edi)
4130b9:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4130bd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4130c0:	ff 15 44 32 42 00    	call   *0x423244
4130c6:	e8 3b 93 00 00       	call   0x41c406
4130cb:	c3                   	ret
4130cc:	8b ff                	mov    %edi,%edi
4130ce:	55                   	push   %ebp
4130cf:	8b ec                	mov    %esp,%ebp
4130d1:	51                   	push   %ecx
4130d2:	56                   	push   %esi
4130d3:	57                   	push   %edi
4130d4:	8b fa                	mov    %edx,%edi
4130d6:	85 c9                	test   %ecx,%ecx
4130d8:	75 11                	jne    0x4130eb
4130da:	6a 02                	push   $0x2
4130dc:	5e                   	pop    %esi
4130dd:	ba 4f 01 00 00       	mov    $0x14f,%edx
4130e2:	8b ce                	mov    %esi,%ecx
4130e4:	e8 9b b6 ff ff       	call   0x40e784
4130e9:	eb 17                	jmp    0x413102
4130eb:	68 10 27 00 00       	push   $0x2710
4130f0:	51                   	push   %ecx
4130f1:	68 50 01 00 00       	push   $0x150
4130f6:	6a 02                	push   $0x2
4130f8:	5e                   	pop    %esi
4130f9:	56                   	push   %esi
4130fa:	e8 eb b5 ff ff       	call   0x40e6ea
4130ff:	83 c4 10             	add    $0x10,%esp
413102:	8b cf                	mov    %edi,%ecx
413104:	53                   	push   %ebx
413105:	33 db                	xor    %ebx,%ebx
413107:	8d 51 02             	lea    0x2(%ecx),%edx
41310a:	66 8b 01             	mov    (%ecx),%ax
41310d:	03 ce                	add    %esi,%ecx
41310f:	66 3b c3             	cmp    %bx,%ax
413112:	75 f6                	jne    0x41310a
413114:	2b ca                	sub    %edx,%ecx
413116:	d1 f9                	sar    $1,%ecx
413118:	75 0e                	jne    0x413128
41311a:	ba 51 01 00 00       	mov    $0x151,%edx
41311f:	8b ce                	mov    %esi,%ecx
413121:	e8 5e b6 ff ff       	call   0x40e784
413126:	eb 0f                	jmp    0x413137
413128:	57                   	push   %edi
413129:	68 52 01 00 00       	push   $0x152
41312e:	56                   	push   %esi
41312f:	e8 b6 b5 ff ff       	call   0x40e6ea
413134:	83 c4 0c             	add    $0xc,%esp
413137:	8b 4d 08             	mov    0x8(%ebp),%ecx
41313a:	8d 51 02             	lea    0x2(%ecx),%edx
41313d:	66 8b 01             	mov    (%ecx),%ax
413140:	03 ce                	add    %esi,%ecx
413142:	66 3b c3             	cmp    %bx,%ax
413145:	75 f6                	jne    0x41313d
413147:	2b ca                	sub    %edx,%ecx
413149:	d1 f9                	sar    $1,%ecx
41314b:	5b                   	pop    %ebx
41314c:	75 0e                	jne    0x41315c
41314e:	ba 53 01 00 00       	mov    $0x153,%edx
413153:	8b ce                	mov    %esi,%ecx
413155:	e8 2a b6 ff ff       	call   0x40e784
41315a:	eb 11                	jmp    0x41316d
41315c:	ff 75 08             	push   0x8(%ebp)
41315f:	68 54 01 00 00       	push   $0x154
413164:	56                   	push   %esi
413165:	e8 80 b5 ff ff       	call   0x40e6ea
41316a:	83 c4 0c             	add    $0xc,%esp
41316d:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
413171:	74 11                	je     0x413184
413173:	ff 75 0c             	push   0xc(%ebp)
413176:	68 5a 01 00 00       	push   $0x15a
41317b:	56                   	push   %esi
41317c:	e8 69 b5 ff ff       	call   0x40e6ea
413181:	83 c4 0c             	add    $0xc,%esp
413184:	5f                   	pop    %edi
413185:	5e                   	pop    %esi
413186:	c9                   	leave
413187:	c2 08 00             	ret    $0x8
41318a:	8b ff                	mov    %edi,%edi
41318c:	53                   	push   %ebx
41318d:	56                   	push   %esi
41318e:	57                   	push   %edi
41318f:	8b f9                	mov    %ecx,%edi
413191:	8b da                	mov    %edx,%ebx
413193:	8b f7                	mov    %edi,%esi
413195:	8d 4e 01             	lea    0x1(%esi),%ecx