431e01:	83 e0 01             	and    $0x1,%eax
431e04:	74 c6                	je     0x431dcc
431e06:	53                   	push   %ebx
431e07:	e8 2d 88 00 00       	call   0x43a639
431e0c:	59                   	pop    %ecx
431e0d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
431e11:	8b 07                	mov    (%edi),%eax
431e13:	f6 44 30 04 01       	testb  $0x1,0x4(%eax,%esi,1)
431e18:	74 36                	je     0x431e50
431e1a:	6a 01                	push   $0x1
431e1c:	6a 00                	push   $0x0
431e1e:	53                   	push   %ebx
431e1f:	e8 f9 8c 00 00       	call   0x43ab1d
431e24:	83 c4 0c             	add    $0xc,%esp
431e27:	8b f0                	mov    %eax,%esi
431e29:	83 fe ff             	cmp    $0xffffffff,%esi
431e2c:	74 35                	je     0x431e63
431e2e:	6a 02                	push   $0x2
431e30:	6a 00                	push   $0x0
431e32:	53                   	push   %ebx
431e33:	e8 e5 8c 00 00       	call   0x43ab1d
431e38:	83 c4 0c             	add    $0xc,%esp
431e3b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
431e3e:	3b f0                	cmp    %eax,%esi
431e40:	74 25                	je     0x431e67
431e42:	6a 00                	push   $0x0
431e44:	56                   	push   %esi
431e45:	53                   	push   %ebx
431e46:	e8 d2 8c 00 00       	call   0x43ab1d
431e4b:	83 c4 0c             	add    $0xc,%esp
431e4e:	eb 17                	jmp    0x431e67
431e50:	e8 53 2b 00 00       	call   0x4349a8
431e55:	c7 00 09 00 00 00    	movl   $0x9,(%eax)
431e5b:	e8 5b 2b 00 00       	call   0x4349bb
431e60:	83 20 00             	andl   $0x0,(%eax)
431e63:	83 4d e4 ff          	orl    $0xffffffff,-0x1c(%ebp)
431e67:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
431e6e:	e8 0c 00 00 00       	call   0x431e7f
431e73:	8b 45 e4             	mov    -0x1c(%ebp),%eax
431e76:	e8 4a 2f 00 00       	call   0x434dc5
431e7b:	c3                   	ret
431e7c:	8b 5d 08             	mov    0x8(%ebp),%ebx
431e7f:	53                   	push   %ebx
431e80:	e8 53 88 00 00       	call   0x43a6d8
431e85:	59                   	pop    %ecx
431e86:	c3                   	ret
431e87:	8b ff                	mov    %edi,%edi
431e89:	55                   	push   %ebp
431e8a:	8b ec                	mov    %esp,%ebp
431e8c:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
431e90:	74 14                	je     0x431ea6
431e92:	ff 75 1c             	push   0x1c(%ebp)
431e95:	ff 75 18             	push   0x18(%ebp)
431e98:	ff 75 14             	push   0x14(%ebp)
431e9b:	ff 75 10             	push   0x10(%ebp)
431e9e:	ff 75 0c             	push   0xc(%ebp)
431ea1:	e8 5c 24 00 00       	call   0x434302
431ea6:	5d                   	pop    %ebp
431ea7:	c3                   	ret
431ea8:	8b ff                	mov    %edi,%edi
431eaa:	55                   	push   %ebp
431eab:	8b ec                	mov    %esp,%ebp
431ead:	83 ec 34             	sub    $0x34,%esp
431eb0:	53                   	push   %ebx
431eb1:	33 db                	xor    %ebx,%ebx
431eb3:	f6 45 10 80          	testb  $0x80,0x10(%ebp)
431eb7:	56                   	push   %esi
431eb8:	8b f0                	mov    %eax,%esi
431eba:	89 5d dc             	mov    %ebx,-0x24(%ebp)
431ebd:	88 5d fe             	mov    %bl,-0x2(%ebp)
431ec0:	89 5d f8             	mov    %ebx,-0x8(%ebp)
431ec3:	c7 45 cc 0c 00 00 00 	movl   $0xc,-0x34(%ebp)
431eca:	89 5d d0             	mov    %ebx,-0x30(%ebp)
431ecd:	74 09                	je     0x431ed8
431ecf:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
431ed2:	c6 45 ff 10          	movb   $0x10,-0x1(%ebp)
431ed6:	eb 0a                	jmp    0x431ee2
431ed8:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
431edf:	88 5d ff             	mov    %bl,-0x1(%ebp)
431ee2:	8d 45 dc             	lea    -0x24(%ebp),%eax
431ee5:	50                   	push   %eax
431ee6:	e8 31 91 00 00       	call   0x43b01c
431eeb:	59                   	pop    %ecx
431eec:	85 c0                	test   %eax,%eax
431eee:	0f 85 de 06 00 00    	jne    0x4325d2
431ef4:	b8 00 80 00 00       	mov    $0x8000,%eax
431ef9:	85 45 10             	test   %eax,0x10(%ebp)
431efc:	75 12                	jne    0x431f10
431efe:	f7 45 10 00 40 07 00 	testl  $0x74000,0x10(%ebp)
431f05:	75 05                	jne    0x431f0c
431f07:	39 45 dc             	cmp    %eax,-0x24(%ebp)
431f0a:	74 04                	je     0x431f10
431f0c:	80 4d ff 80          	orb    $0x80,-0x1(%ebp)
431f10:	8b 45 10             	mov    0x10(%ebp),%eax
431f13:	83 e0 03             	and    $0x3,%eax
431f16:	2b c3                	sub    %ebx,%eax
431f18:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
431f1d:	ba 00 00 00 80       	mov    $0x80000000,%edx
431f22:	74 43                	je     0x431f67
431f24:	48                   	dec    %eax
431f25:	74 28                	je     0x431f4f
431f27:	48                   	dec    %eax
431f28:	74 20                	je     0x431f4a
431f2a:	e8 8c 2a 00 00       	call   0x4349bb
431f2f:	89 18                	mov    %ebx,(%eax)
431f31:	83 0e ff             	orl    $0xffffffff,(%esi)
431f34:	e8 6f 2a 00 00       	call   0x4349a8
431f39:	6a 16                	push   $0x16
431f3b:	5e                   	pop    %esi
431f3c:	89 30                	mov    %esi,(%eax)
431f3e:	e8 2b 24 00 00       	call   0x43436e
431f43:	8b c6                	mov    %esi,%eax
431f45:	e9 de 00 00 00       	jmp    0x432028
431f4a:	89 4d f4             	mov    %ecx,-0xc(%ebp)
431f4d:	eb 1b                	jmp    0x431f6a
431f4f:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
431f53:	74 09                	je     0x431f5e
431f55:	f7 45 10 00 00 07 00 	testl  $0x70000,0x10(%ebp)
431f5c:	75 ec                	jne    0x431f4a
431f5e:	c7 45 f4 00 00 00 40 	movl   $0x40000000,-0xc(%ebp)
431f65:	eb 03                	jmp    0x431f6a
431f67:	89 55 f4             	mov    %edx,-0xc(%ebp)
431f6a:	8b 45 14             	mov    0x14(%ebp),%eax
431f6d:	6a 10                	push   $0x10
431f6f:	59                   	pop    %ecx
431f70:	2b c1                	sub    %ecx,%eax
431f72:	74 37                	je     0x431fab
431f74:	2b c1                	sub    %ecx,%eax
431f76:	74 2a                	je     0x431fa2
431f78:	2b c1                	sub    %ecx,%eax
431f7a:	74 1d                	je     0x431f99
431f7c:	2b c1                	sub    %ecx,%eax
431f7e:	74 10                	je     0x431f90
431f80:	83 e8 40             	sub    $0x40,%eax
431f83:	75 a5                	jne    0x431f2a
431f85:	39 55 f4             	cmp    %edx,-0xc(%ebp)
431f88:	0f 94 c0             	sete   %al
431f8b:	89 45 ec             	mov    %eax,-0x14(%ebp)
431f8e:	eb 1e                	jmp    0x431fae
431f90:	c7 45 ec 03 00 00 00 	movl   $0x3,-0x14(%ebp)
431f97:	eb 15                	jmp    0x431fae
431f99:	c7 45 ec 02 00 00 00 	movl   $0x2,-0x14(%ebp)
431fa0:	eb 0c                	jmp    0x431fae
431fa2:	c7 45 ec 01 00 00 00 	movl   $0x1,-0x14(%ebp)
431fa9:	eb 03                	jmp    0x431fae
431fab:	89 5d ec             	mov    %ebx,-0x14(%ebp)
431fae:	8b 45 10             	mov    0x10(%ebp),%eax
431fb1:	ba 00 07 00 00       	mov    $0x700,%edx
431fb6:	23 c2                	and    %edx,%eax
431fb8:	b9 00 04 00 00       	mov    $0x400,%ecx
431fbd:	57                   	push   %edi
431fbe:	bf 00 01 00 00       	mov    $0x100,%edi
431fc3:	3b c1                	cmp    %ecx,%eax
431fc5:	7f 33                	jg     0x431ffa
431fc7:	74 28                	je     0x431ff1
431fc9:	3b c3                	cmp    %ebx,%eax
431fcb:	74 24                	je     0x431ff1
431fcd:	3b c7                	cmp    %edi,%eax
431fcf:	74 17                	je     0x431fe8
431fd1:	3d 00 02 00 00       	cmp    $0x200,%eax
431fd6:	74 54                	je     0x43202c
431fd8:	3d 00 03 00 00       	cmp    $0x300,%eax
431fdd:	75 2d                	jne    0x43200c
431fdf:	c7 45 e8 02 00 00 00 	movl   $0x2,-0x18(%ebp)
431fe6:	eb 54                	jmp    0x43203c
431fe8:	c7 45 e8 04 00 00 00 	movl   $0x4,-0x18(%ebp)
431fef:	eb 4b                	jmp    0x43203c
431ff1:	c7 45 e8 03 00 00 00 	movl   $0x3,-0x18(%ebp)
431ff8:	eb 42                	jmp    0x43203c
431ffa:	3d 00 05 00 00       	cmp    $0x500,%eax
431fff:	74 34                	je     0x432035
432001:	3d 00 06 00 00       	cmp    $0x600,%eax
432006:	74 24                	je     0x43202c
432008:	3b c2                	cmp    %edx,%eax
43200a:	74 29                	je     0x432035
43200c:	e8 aa 29 00 00       	call   0x4349bb
432011:	89 18                	mov    %ebx,(%eax)
432013:	83 0e ff             	orl    $0xffffffff,(%esi)
432016:	e8 8d 29 00 00       	call   0x4349a8
43201b:	6a 16                	push   $0x16
43201d:	5e                   	pop    %esi
43201e:	89 30                	mov    %esi,(%eax)
432020:	e8 49 23 00 00       	call   0x43436e
432025:	8b c6                	mov    %esi,%eax
432027:	5f                   	pop    %edi
432028:	5e                   	pop    %esi
432029:	5b                   	pop    %ebx
43202a:	c9                   	leave
43202b:	c3                   	ret
43202c:	c7 45 e8 05 00 00 00 	movl   $0x5,-0x18(%ebp)
432033:	eb 07                	jmp    0x43203c
432035:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
43203c:	8b 45 10             	mov    0x10(%ebp),%eax
43203f:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
432046:	85 c7                	test   %eax,%edi
432048:	74 16                	je     0x432060
43204a:	8b 0d 90 07 47 00    	mov    0x470790,%ecx
432050:	f7 d1                	not    %ecx
432052:	23 4d 18             	and    0x18(%ebp),%ecx
432055:	84 c9                	test   %cl,%cl
432057:	78 07                	js     0x432060
432059:	c7 45 f0 01 00 00 00 	movl   $0x1,-0x10(%ebp)
432060:	a8 40                	test   $0x40,%al
432062:	74 12                	je     0x432076
432064:	81 4d f0 00 00 00 04 	orl    $0x4000000,-0x10(%ebp)
43206b:	81 4d f4 00 00 01 00 	orl    $0x10000,-0xc(%ebp)
432072:	83 4d ec 04          	orl    $0x4,-0x14(%ebp)
432076:	a9 00 10 00 00       	test   $0x1000,%eax
43207b:	74 03                	je     0x432080
43207d:	09 7d f0             	or     %edi,-0x10(%ebp)
432080:	a8 20                	test   $0x20,%al
432082:	74 09                	je     0x43208d
432084:	81 4d f0 00 00 00 08 	orl    $0x8000000,-0x10(%ebp)
43208b:	eb 0b                	jmp    0x432098
43208d:	a8 10                	test   $0x10,%al
43208f:	74 07                	je     0x432098
432091:	81 4d f0 00 00 00 10 	orl    $0x10000000,-0x10(%ebp)
432098:	e8 62 86 00 00       	call   0x43a6ff
43209d:	83 cb ff             	or     $0xffffffff,%ebx
4320a0:	89 06                	mov    %eax,(%esi)
4320a2:	3b c3                	cmp    %ebx,%eax
4320a4:	75 21                	jne    0x4320c7
4320a6:	e8 10 29 00 00       	call   0x4349bb
4320ab:	83 20 00             	andl   $0x0,(%eax)
4320ae:	89 1e                	mov    %ebx,(%esi)
4320b0:	e8 f3 28 00 00       	call   0x4349a8
4320b5:	c7 00 18 00 00 00    	movl   $0x18,(%eax)
4320bb:	e8 e8 28 00 00       	call   0x4349a8
4320c0:	8b 00                	mov    (%eax),%eax
4320c2:	e9 60 ff ff ff       	jmp    0x432027
4320c7:	8b 45 08             	mov    0x8(%ebp),%eax
4320ca:	8b 3d ac 34 47 00    	mov    0x4734ac,%edi
4320d0:	6a 00                	push   $0x0
4320d2:	ff 75 f0             	push   -0x10(%ebp)
4320d5:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
4320db:	ff 75 e8             	push   -0x18(%ebp)
4320de:	8d 45 cc             	lea    -0x34(%ebp),%eax
4320e1:	50                   	push   %eax
4320e2:	ff 75 ec             	push   -0x14(%ebp)
4320e5:	ff 75 f4             	push   -0xc(%ebp)
4320e8:	ff 75 0c             	push   0xc(%ebp)
4320eb:	ff d7                	call   *%edi
4320ed:	89 45 e0             	mov    %eax,-0x20(%ebp)
4320f0:	3b c3                	cmp    %ebx,%eax
4320f2:	75 70                	jne    0x432164
4320f4:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4320f7:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
4320fc:	23 c8                	and    %eax,%ecx
4320fe:	3b c8                	cmp    %eax,%ecx
432100:	75 2b                	jne    0x43212d
432102:	f6 45 10 01          	testb  $0x1,0x10(%ebp)
432106:	74 25                	je     0x43212d
432108:	81 65 f4 ff ff ff 7f 	andl   $0x7fffffff,-0xc(%ebp)
43210f:	6a 00                	push   $0x0
432111:	ff 75 f0             	push   -0x10(%ebp)
432114:	8d 45 cc             	lea    -0x34(%ebp),%eax
432117:	ff 75 e8             	push   -0x18(%ebp)
43211a:	50                   	push   %eax
43211b:	ff 75 ec             	push   -0x14(%ebp)
43211e:	ff 75 f4             	push   -0xc(%ebp)
432121:	ff 75 0c             	push   0xc(%ebp)
432124:	ff d7                	call   *%edi
432126:	89 45 e0             	mov    %eax,-0x20(%ebp)
432129:	3b c3                	cmp    %ebx,%eax
43212b:	75 37                	jne    0x432164
43212d:	8b 36                	mov    (%esi),%esi
43212f:	8b c6                	mov    %esi,%eax
432131:	c1 f8 05             	sar    $0x5,%eax
432134:	8b 04 85 80 17 47 00 	mov    0x471780(,%eax,4),%eax
43213b:	83 e6 1f             	and    $0x1f,%esi
43213e:	c1 e6 06             	shl    $0x6,%esi
432141:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
432145:	80 20 fe             	andb   $0xfe,(%eax)
432148:	ff 15 24 34 47 00    	call   *0x473424
43214e:	50                   	push   %eax
43214f:	e8 7a 28 00 00       	call   0x4349ce
432154:	59                   	pop    %ecx
432155:	e8 4e 28 00 00       	call   0x4349a8
43215a:	8b 00                	mov    (%eax),%eax
43215c:	89 45 f8             	mov    %eax,-0x8(%ebp)
43215f:	e9 66 04 00 00       	jmp    0x4325ca
432164:	ff 75 e0             	push   -0x20(%ebp)
432167:	ff 15 f0 34 47 00    	call   *0x4734f0
43216d:	85 c0                	test   %eax,%eax
43216f:	75 44                	jne    0x4321b5
432171:	8b 36                	mov    (%esi),%esi
432173:	8b c6                	mov    %esi,%eax
432175:	c1 f8 05             	sar    $0x5,%eax
432178:	8b 04 85 80 17 47 00 	mov    0x471780(,%eax,4),%eax
43217f:	83 e6 1f             	and    $0x1f,%esi
432182:	c1 e6 06             	shl    $0x6,%esi
432185:	8d 44 30 04          	lea    0x4(%eax,%esi,1),%eax
432189:	80 20 fe             	andb   $0xfe,(%eax)
43218c:	ff 15 24 34 47 00    	call   *0x473424
432192:	8b f0                	mov    %eax,%esi
432194:	56                   	push   %esi
432195:	e8 34 28 00 00       	call   0x4349ce
43219a:	59                   	pop    %ecx
43219b:	ff 75 e0             	push   -0x20(%ebp)
43219e:	ff 15 2c 34 47 00    	call   *0x47342c
4321a4:	85 f6                	test   %esi,%esi
4321a6:	75 ad                	jne    0x432155
4321a8:	e8 fb 27 00 00       	call   0x4349a8
4321ad:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
4321b3:	eb a0                	jmp    0x432155
4321b5:	83 f8 02             	cmp    $0x2,%eax
4321b8:	75 06                	jne    0x4321c0
4321ba:	80 4d ff 40          	orb    $0x40,-0x1(%ebp)
4321be:	eb 09                	jmp    0x4321c9
4321c0:	83 f8 03             	cmp    $0x3,%eax
4321c3:	75 04                	jne    0x4321c9
4321c5:	80 4d ff 08          	orb    $0x8,-0x1(%ebp)
4321c9:	ff 75 e0             	push   -0x20(%ebp)
4321cc:	ff 36                	push   (%esi)
4321ce:	e8 f6 82 00 00       	call   0x43a4c9
4321d3:	8b 06                	mov    (%esi),%eax
4321d5:	8b d0                	mov    %eax,%edx
4321d7:	83 e0 1f             	and    $0x1f,%eax
4321da:	c1 fa 05             	sar    $0x5,%edx
4321dd:	8b 14 95 80 17 47 00 	mov    0x471780(,%edx,4),%edx
4321e4:	59                   	pop    %ecx
4321e5:	c1 e0 06             	shl    $0x6,%eax
4321e8:	59                   	pop    %ecx
4321e9:	8a 4d ff             	mov    -0x1(%ebp),%cl
4321ec:	80 c9 01             	or     $0x1,%cl
4321ef:	88 4c 02 04          	mov    %cl,0x4(%edx,%eax,1)
4321f3:	8b 06                	mov    (%esi),%eax
4321f5:	8b d0                	mov    %eax,%edx
4321f7:	83 e0 1f             	and    $0x1f,%eax
4321fa:	c1 fa 05             	sar    $0x5,%edx
4321fd:	8b 14 95 80 17 47 00 	mov    0x471780(,%edx,4),%edx
432204:	c1 e0 06             	shl    $0x6,%eax
432207:	8d 44 02 24          	lea    0x24(%edx,%eax,1),%eax
43220b:	80 20 80             	andb   $0x80,(%eax)
43220e:	88 4d fd             	mov    %cl,-0x3(%ebp)
432211:	80 65 fd 48          	andb   $0x48,-0x3(%ebp)
432215:	88 4d ff             	mov    %cl,-0x1(%ebp)
432218:	75 7f                	jne    0x432299
43221a:	f6 c1 80             	test   $0x80,%cl
43221d:	0f 84 a8 02 00 00    	je     0x4324cb
432223:	f6 45 10 02          	testb  $0x2,0x10(%ebp)
432227:	74 70                	je     0x432299
432229:	6a 02                	push   $0x2
43222b:	53                   	push   %ebx
43222c:	ff 36                	push   (%esi)
43222e:	e8 ea 88 00 00       	call   0x43ab1d
432233:	8b f8                	mov    %eax,%edi
432235:	83 c4 0c             	add    $0xc,%esp
432238:	3b fb                	cmp    %ebx,%edi
43223a:	75 19                	jne    0x432255