439e47:	74 1c                	je     0x439e65
439e49:	81 fa 00 40 00 00    	cmp    $0x4000,%edx
439e4f:	74 0c                	je     0x439e5d
439e51:	3b d7                	cmp    %edi,%edx
439e53:	75 16                	jne    0x439e6b
439e55:	81 c9 00 03 00 00    	or     $0x300,%ecx
439e5b:	eb 0e                	jmp    0x439e6b
439e5d:	81 c9 00 02 00 00    	or     $0x200,%ecx
439e63:	eb 06                	jmp    0x439e6b
439e65:	81 c9 00 01 00 00    	or     $0x100,%ecx
439e6b:	25 40 80 00 00       	and    $0x8040,%eax
439e70:	2b c3                	sub    %ebx,%eax
439e72:	74 1b                	je     0x439e8f
439e74:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
439e79:	74 0c                	je     0x439e87
439e7b:	2b c3                	sub    %ebx,%eax
439e7d:	75 16                	jne    0x439e95
439e7f:	81 c9 00 00 00 01    	or     $0x1000000,%ecx
439e85:	eb 0e                	jmp    0x439e95
439e87:	81 c9 00 00 00 03    	or     $0x3000000,%ecx
439e8d:	eb 06                	jmp    0x439e95
439e8f:	81 c9 00 00 00 02    	or     $0x2000000,%ecx
439e95:	8b c1                	mov    %ecx,%eax
439e97:	0b ce                	or     %esi,%ecx
439e99:	33 c6                	xor    %esi,%eax
439e9b:	a9 1f 03 08 00       	test   $0x8031f,%eax
439ea0:	74 06                	je     0x439ea8
439ea2:	81 c9 00 00 00 80    	or     $0x80000000,%ecx
439ea8:	8b c1                	mov    %ecx,%eax
439eaa:	eb 02                	jmp    0x439eae
439eac:	8b c6                	mov    %esi,%eax
439eae:	5f                   	pop    %edi
439eaf:	5e                   	pop    %esi
439eb0:	5b                   	pop    %ebx
439eb1:	8b e5                	mov    %ebp,%esp
439eb3:	5d                   	pop    %ebp
439eb4:	c3                   	ret
439eb5:	8b ff                	mov    %edi,%edi
439eb7:	55                   	push   %ebp
439eb8:	8b ec                	mov    %esp,%ebp
439eba:	8b 4d 08             	mov    0x8(%ebp),%ecx
439ebd:	33 c0                	xor    %eax,%eax
439ebf:	f6 c1 10             	test   $0x10,%cl
439ec2:	74 01                	je     0x439ec5
439ec4:	40                   	inc    %eax
439ec5:	f6 c1 08             	test   $0x8,%cl
439ec8:	74 03                	je     0x439ecd
439eca:	83 c8 04             	or     $0x4,%eax
439ecd:	f6 c1 04             	test   $0x4,%cl
439ed0:	74 03                	je     0x439ed5
439ed2:	83 c8 08             	or     $0x8,%eax
439ed5:	f6 c1 02             	test   $0x2,%cl
439ed8:	74 03                	je     0x439edd
439eda:	83 c8 10             	or     $0x10,%eax
439edd:	f6 c1 01             	test   $0x1,%cl
439ee0:	74 03                	je     0x439ee5
439ee2:	83 c8 20             	or     $0x20,%eax
439ee5:	f7 c1 00 00 08 00    	test   $0x80000,%ecx
439eeb:	74 03                	je     0x439ef0
439eed:	83 c8 02             	or     $0x2,%eax
439ef0:	56                   	push   %esi
439ef1:	8b d1                	mov    %ecx,%edx
439ef3:	be 00 03 00 00       	mov    $0x300,%esi
439ef8:	57                   	push   %edi
439ef9:	bf 00 02 00 00       	mov    $0x200,%edi
439efe:	23 d6                	and    %esi,%edx
439f00:	74 23                	je     0x439f25
439f02:	81 fa 00 01 00 00    	cmp    $0x100,%edx
439f08:	74 16                	je     0x439f20
439f0a:	3b d7                	cmp    %edi,%edx
439f0c:	74 0b                	je     0x439f19
439f0e:	3b d6                	cmp    %esi,%edx
439f10:	75 13                	jne    0x439f25
439f12:	0d 00 0c 00 00       	or     $0xc00,%eax
439f17:	eb 0c                	jmp    0x439f25
439f19:	0d 00 08 00 00       	or     $0x800,%eax
439f1e:	eb 05                	jmp    0x439f25
439f20:	0d 00 04 00 00       	or     $0x400,%eax
439f25:	8b d1                	mov    %ecx,%edx
439f27:	81 e2 00 00 03 00    	and    $0x30000,%edx
439f2d:	74 0c                	je     0x439f3b
439f2f:	81 fa 00 00 01 00    	cmp    $0x10000,%edx
439f35:	75 06                	jne    0x439f3d
439f37:	0b c7                	or     %edi,%eax
439f39:	eb 02                	jmp    0x439f3d
439f3b:	0b c6                	or     %esi,%eax
439f3d:	5f                   	pop    %edi
439f3e:	5e                   	pop    %esi
439f3f:	f7 c1 00 00 04 00    	test   $0x40000,%ecx
439f45:	74 05                	je     0x439f4c
439f47:	0d 00 10 00 00       	or     $0x1000,%eax
439f4c:	5d                   	pop    %ebp
439f4d:	c3                   	ret
439f4e:	8b ff                	mov    %edi,%edi
439f50:	55                   	push   %ebp
439f51:	8b ec                	mov    %esp,%ebp
439f53:	83 ec 24             	sub    $0x24,%esp
439f56:	a1 08 a0 46 00       	mov    0x46a008,%eax
439f5b:	33 c5                	xor    %ebp,%eax
439f5d:	89 45 fc             	mov    %eax,-0x4(%ebp)
439f60:	53                   	push   %ebx
439f61:	ff 75 10             	push   0x10(%ebp)
439f64:	8b 5d 08             	mov    0x8(%ebp),%ebx
439f67:	8d 4d e0             	lea    -0x20(%ebp),%ecx
439f6a:	e8 48 7a ff ff       	call   0x4319b7
439f6f:	8d 43 01             	lea    0x1(%ebx),%eax
439f72:	3d 00 01 00 00       	cmp    $0x100,%eax
439f77:	77 0b                	ja     0x439f84
439f79:	8b 45 e4             	mov    -0x1c(%ebp),%eax
439f7c:	8b 00                	mov    (%eax),%eax
439f7e:	0f b7 04 58          	movzwl (%eax,%ebx,2),%eax
439f82:	eb 7a                	jmp    0x439ffe
439f84:	8b c3                	mov    %ebx,%eax
439f86:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
439f89:	c1 f8 08             	sar    $0x8,%eax
439f8c:	89 45 dc             	mov    %eax,-0x24(%ebp)
439f8f:	51                   	push   %ecx
439f90:	0f b6 c0             	movzbl %al,%eax
439f93:	50                   	push   %eax
439f94:	e8 87 00 00 00       	call   0x43a020
439f99:	59                   	pop    %ecx
439f9a:	59                   	pop    %ecx
439f9b:	85 c0                	test   %eax,%eax
439f9d:	74 13                	je     0x439fb2
439f9f:	8b 45 dc             	mov    -0x24(%ebp),%eax
439fa2:	88 45 f0             	mov    %al,-0x10(%ebp)
439fa5:	33 c0                	xor    %eax,%eax
439fa7:	6a 02                	push   $0x2
439fa9:	88 5d f1             	mov    %bl,-0xf(%ebp)
439fac:	88 45 f2             	mov    %al,-0xe(%ebp)
439faf:	59                   	pop    %ecx
439fb0:	eb 0b                	jmp    0x439fbd
439fb2:	33 c0                	xor    %eax,%eax
439fb4:	88 5d f0             	mov    %bl,-0x10(%ebp)
439fb7:	33 c9                	xor    %ecx,%ecx
439fb9:	88 45 f1             	mov    %al,-0xf(%ebp)
439fbc:	41                   	inc    %ecx
439fbd:	89 45 f4             	mov    %eax,-0xc(%ebp)
439fc0:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
439fc4:	8b 45 e4             	mov    -0x1c(%ebp),%eax
439fc7:	6a 01                	push   $0x1
439fc9:	ff 70 08             	push   0x8(%eax)
439fcc:	8d 45 f4             	lea    -0xc(%ebp),%eax
439fcf:	50                   	push   %eax
439fd0:	51                   	push   %ecx
439fd1:	8d 45 f0             	lea    -0x10(%ebp),%eax
439fd4:	50                   	push   %eax
439fd5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
439fd8:	6a 01                	push   $0x1
439fda:	50                   	push   %eax
439fdb:	e8 ca f0 ff ff       	call   0x4390aa
439fe0:	83 c4 1c             	add    $0x1c,%esp
439fe3:	85 c0                	test   %eax,%eax
439fe5:	75 13                	jne    0x439ffa
439fe7:	38 45 ec             	cmp    %al,-0x14(%ebp)
439fea:	74 0a                	je     0x439ff6
439fec:	8b 45 e0             	mov    -0x20(%ebp),%eax
439fef:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
439ff6:	33 c0                	xor    %eax,%eax
439ff8:	eb 17                	jmp    0x43a011
439ffa:	0f b7 45 f4          	movzwl -0xc(%ebp),%eax
439ffe:	23 45 0c             	and    0xc(%ebp),%eax
43a001:	80 7d ec 00          	cmpb   $0x0,-0x14(%ebp)
43a005:	74 0a                	je     0x43a011
43a007:	8b 4d e0             	mov    -0x20(%ebp),%ecx
43a00a:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
43a011:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a014:	33 cd                	xor    %ebp,%ecx
43a016:	5b                   	pop    %ebx
43a017:	e8 1a 3e ff ff       	call   0x42de36
43a01c:	8b e5                	mov    %ebp,%esp
43a01e:	5d                   	pop    %ebp
43a01f:	c3                   	ret
43a020:	8b ff                	mov    %edi,%edi
43a022:	55                   	push   %ebp
43a023:	8b ec                	mov    %esp,%ebp
43a025:	83 ec 10             	sub    $0x10,%esp
43a028:	ff 75 0c             	push   0xc(%ebp)
43a02b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43a02e:	e8 84 79 ff ff       	call   0x4319b7
43a033:	8b 45 f4             	mov    -0xc(%ebp),%eax
43a036:	0f b6 4d 08          	movzbl 0x8(%ebp),%ecx
43a03a:	8b 00                	mov    (%eax),%eax
43a03c:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
43a040:	25 00 80 00 00       	and    $0x8000,%eax
43a045:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43a049:	74 0a                	je     0x43a055
43a04b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a04e:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
43a055:	8b e5                	mov    %ebp,%esp
43a057:	5d                   	pop    %ebp
43a058:	c3                   	ret
43a059:	8b ff                	mov    %edi,%edi
43a05b:	55                   	push   %ebp
43a05c:	8b ec                	mov    %esp,%ebp
43a05e:	51                   	push   %ecx
43a05f:	51                   	push   %ecx
43a060:	a1 08 a0 46 00       	mov    0x46a008,%eax
43a065:	33 c5                	xor    %ebp,%eax
43a067:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a06a:	53                   	push   %ebx
43a06b:	56                   	push   %esi
43a06c:	8b 75 18             	mov    0x18(%ebp),%esi
43a06f:	57                   	push   %edi
43a070:	85 f6                	test   %esi,%esi
43a072:	7e 14                	jle    0x43a088
43a074:	56                   	push   %esi
43a075:	ff 75 14             	push   0x14(%ebp)
43a078:	e8 f8 25 00 00       	call   0x43c675
43a07d:	59                   	pop    %ecx
43a07e:	3b c6                	cmp    %esi,%eax
43a080:	59                   	pop    %ecx
43a081:	8d 70 01             	lea    0x1(%eax),%esi
43a084:	7c 02                	jl     0x43a088
43a086:	8b f0                	mov    %eax,%esi
43a088:	8b 7d 24             	mov    0x24(%ebp),%edi
43a08b:	85 ff                	test   %edi,%edi
43a08d:	75 0b                	jne    0x43a09a
43a08f:	8b 45 08             	mov    0x8(%ebp),%eax
43a092:	8b 00                	mov    (%eax),%eax
43a094:	8b 78 08             	mov    0x8(%eax),%edi
43a097:	89 7d 24             	mov    %edi,0x24(%ebp)
43a09a:	33 c0                	xor    %eax,%eax
43a09c:	39 45 28             	cmp    %eax,0x28(%ebp)
43a09f:	6a 00                	push   $0x0
43a0a1:	6a 00                	push   $0x0
43a0a3:	56                   	push   %esi
43a0a4:	ff 75 14             	push   0x14(%ebp)
43a0a7:	0f 95 c0             	setne  %al
43a0aa:	8d 04 c5 01 00 00 00 	lea    0x1(,%eax,8),%eax
43a0b1:	50                   	push   %eax
43a0b2:	57                   	push   %edi
43a0b3:	ff 15 fc b0 44 00    	call   *0x44b0fc
43a0b9:	89 45 f8             	mov    %eax,-0x8(%ebp)
43a0bc:	85 c0                	test   %eax,%eax
43a0be:	0f 84 8d 01 00 00    	je     0x43a251
43a0c4:	8d 14 00             	lea    (%eax,%eax,1),%edx
43a0c7:	8d 4a 08             	lea    0x8(%edx),%ecx
43a0ca:	3b d1                	cmp    %ecx,%edx
43a0cc:	1b c0                	sbb    %eax,%eax
43a0ce:	85 c1                	test   %eax,%ecx
43a0d0:	74 52                	je     0x43a124
43a0d2:	8d 4a 08             	lea    0x8(%edx),%ecx
43a0d5:	3b d1                	cmp    %ecx,%edx
43a0d7:	1b c0                	sbb    %eax,%eax
43a0d9:	23 c1                	and    %ecx,%eax
43a0db:	8d 4a 08             	lea    0x8(%edx),%ecx
43a0de:	3d 00 04 00 00       	cmp    $0x400,%eax
43a0e3:	77 1d                	ja     0x43a102
43a0e5:	3b d1                	cmp    %ecx,%edx
43a0e7:	1b c0                	sbb    %eax,%eax
43a0e9:	23 c1                	and    %ecx,%eax
43a0eb:	e8 00 fd 00 00       	call   0x449df0
43a0f0:	8b dc                	mov    %esp,%ebx
43a0f2:	85 db                	test   %ebx,%ebx
43a0f4:	0f 84 4c 01 00 00    	je     0x43a246
43a0fa:	c7 03 cc cc 00 00    	movl   $0xcccc,(%ebx)
43a100:	eb 1d                	jmp    0x43a11f
43a102:	3b d1                	cmp    %ecx,%edx
43a104:	1b c0                	sbb    %eax,%eax
43a106:	23 c1                	and    %ecx,%eax
43a108:	50                   	push   %eax
43a109:	e8 46 b0 ff ff       	call   0x435154
43a10e:	8b d8                	mov    %eax,%ebx
43a110:	59                   	pop    %ecx
43a111:	85 db                	test   %ebx,%ebx
43a113:	0f 84 2d 01 00 00    	je     0x43a246
43a119:	c7 03 dd dd 00 00    	movl   $0xdddd,(%ebx)
43a11f:	83 c3 08             	add    $0x8,%ebx
43a122:	eb 02                	jmp    0x43a126
43a124:	33 db                	xor    %ebx,%ebx
43a126:	85 db                	test   %ebx,%ebx
43a128:	0f 84 18 01 00 00    	je     0x43a246
43a12e:	ff 75 f8             	push   -0x8(%ebp)
43a131:	53                   	push   %ebx
43a132:	56                   	push   %esi
43a133:	ff 75 14             	push   0x14(%ebp)
43a136:	6a 01                	push   $0x1
43a138:	57                   	push   %edi
43a139:	ff 15 fc b0 44 00    	call   *0x44b0fc
43a13f:	85 c0                	test   %eax,%eax
43a141:	0f 84 ff 00 00 00    	je     0x43a246
43a147:	8b 7d f8             	mov    -0x8(%ebp),%edi
43a14a:	33 c0                	xor    %eax,%eax
43a14c:	50                   	push   %eax
43a14d:	50                   	push   %eax
43a14e:	50                   	push   %eax
43a14f:	50                   	push   %eax
43a150:	50                   	push   %eax
43a151:	57                   	push   %edi
43a152:	53                   	push   %ebx
43a153:	ff 75 10             	push   0x10(%ebp)
43a156:	ff 75 0c             	push   0xc(%ebp)
43a159:	e8 0b e8 ff ff       	call   0x438969
43a15e:	8b f0                	mov    %eax,%esi
43a160:	85 f6                	test   %esi,%esi
43a162:	0f 84 de 00 00 00    	je     0x43a246
43a168:	f7 45 10 00 04 00 00 	testl  $0x400,0x10(%ebp)
43a16f:	74 38                	je     0x43a1a9
43a171:	8b 45 20             	mov    0x20(%ebp),%eax
43a174:	85 c0                	test   %eax,%eax
43a176:	0f 84 cc 00 00 00    	je     0x43a248
43a17c:	3b f0                	cmp    %eax,%esi
43a17e:	0f 8f c2 00 00 00    	jg     0x43a246
43a184:	33 c9                	xor    %ecx,%ecx
43a186:	51                   	push   %ecx
43a187:	51                   	push   %ecx
43a188:	51                   	push   %ecx
43a189:	50                   	push   %eax
43a18a:	ff 75 1c             	push   0x1c(%ebp)
43a18d:	57                   	push   %edi
43a18e:	53                   	push   %ebx
43a18f:	ff 75 10             	push   0x10(%ebp)
43a192:	ff 75 0c             	push   0xc(%ebp)
43a195:	e8 cf e7 ff ff       	call   0x438969
43a19a:	8b f0                	mov    %eax,%esi
43a19c:	85 f6                	test   %esi,%esi
43a19e:	0f 85 a4 00 00 00    	jne    0x43a248
43a1a4:	e9 9d 00 00 00       	jmp    0x43a246
43a1a9:	8d 14 36             	lea    (%esi,%esi,1),%edx
43a1ac:	8d 4a 08             	lea    0x8(%edx),%ecx
43a1af:	3b d1                	cmp    %ecx,%edx
43a1b1:	1b c0                	sbb    %eax,%eax
43a1b3:	85 c1                	test   %eax,%ecx
43a1b5:	74 4a                	je     0x43a201
43a1b7:	8d 4a 08             	lea    0x8(%edx),%ecx
43a1ba:	3b d1                	cmp    %ecx,%edx
43a1bc:	1b c0                	sbb    %eax,%eax
43a1be:	23 c1                	and    %ecx,%eax
43a1c0:	8d 4a 08             	lea    0x8(%edx),%ecx
43a1c3:	3d 00 04 00 00       	cmp    $0x400,%eax
43a1c8:	77 19                	ja     0x43a1e3
43a1ca:	3b d1                	cmp    %ecx,%edx
43a1cc:	1b c0                	sbb    %eax,%eax
43a1ce:	23 c1                	and    %ecx,%eax
43a1d0:	e8 1b fc 00 00       	call   0x449df0
43a1d5:	8b fc                	mov    %esp,%edi
43a1d7:	85 ff                	test   %edi,%edi
43a1d9:	74 64                	je     0x43a23f
43a1db:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
43a1e1:	eb 19                	jmp    0x43a1fc
43a1e3:	3b d1                	cmp    %ecx,%edx
43a1e5:	1b c0                	sbb    %eax,%eax
43a1e7:	23 c1                	and    %ecx,%eax
43a1e9:	50                   	push   %eax
43a1ea:	e8 65 af ff ff       	call   0x435154
43a1ef:	8b f8                	mov    %eax,%edi
43a1f1:	59                   	pop    %ecx
43a1f2:	85 ff                	test   %edi,%edi
43a1f4:	74 49                	je     0x43a23f