42889e:	7d 0e                	jge    0x4288ae
4288a0:	8b 4d c0             	mov    -0x40(%ebp),%ecx
4288a3:	eb 44                	jmp    0x4288e9
4288a5:	80 3b 39             	cmpb   $0x39,(%ebx)
4288a8:	75 09                	jne    0x4288b3
4288aa:	c6 03 30             	movb   $0x30,(%ebx)
4288ad:	4b                   	dec    %ebx
4288ae:	3b 5d c0             	cmp    -0x40(%ebp),%ebx
4288b1:	73 f2                	jae    0x4288a5
4288b3:	8b 45 a0             	mov    -0x60(%ebp),%eax
4288b6:	3b 5d c0             	cmp    -0x40(%ebp),%ebx
4288b9:	73 04                	jae    0x4288bf
4288bb:	43                   	inc    %ebx
4288bc:	66 ff 00             	incw   (%eax)
4288bf:	fe 03                	incb   (%ebx)
4288c1:	2a d8                	sub    %al,%bl
4288c3:	80 eb 03             	sub    $0x3,%bl
4288c6:	0f be cb             	movsbl %bl,%ecx
4288c9:	88 58 03             	mov    %bl,0x3(%eax)
4288cc:	c6 44 01 04 00       	movb   $0x0,0x4(%ecx,%eax,1)
4288d1:	8b 45 8c             	mov    -0x74(%ebp),%eax
4288d4:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4288d7:	5f                   	pop    %edi
4288d8:	5e                   	pop    %esi
4288d9:	33 cd                	xor    %ebp,%ecx
4288db:	5b                   	pop    %ebx
4288dc:	e8 ed 58 ff ff       	call   0x41e1ce
4288e1:	c9                   	leave
4288e2:	c3                   	ret
4288e3:	80 3b 30             	cmpb   $0x30,(%ebx)
4288e6:	75 05                	jne    0x4288ed
4288e8:	4b                   	dec    %ebx
4288e9:	3b d9                	cmp    %ecx,%ebx
4288eb:	73 f6                	jae    0x4288e3
4288ed:	8b 45 a0             	mov    -0x60(%ebp),%eax
4288f0:	3b d9                	cmp    %ecx,%ebx
4288f2:	73 cd                	jae    0x4288c1
4288f4:	33 d2                	xor    %edx,%edx
4288f6:	66 89 10             	mov    %dx,(%eax)
4288f9:	ba 00 80 00 00       	mov    $0x8000,%edx
4288fe:	66 39 55 90          	cmp    %dx,-0x70(%ebp)
428902:	c6 40 03 01          	movb   $0x1,0x3(%eax)
428906:	0f 95 c2             	setne  %dl
428909:	fe ca                	dec    %dl
42890b:	80 e2 0d             	and    $0xd,%dl
42890e:	80 c2 20             	add    $0x20,%dl
428911:	88 50 02             	mov    %dl,0x2(%eax)
428914:	c6 01 30             	movb   $0x30,(%ecx)
428917:	c6 40 05 00          	movb   $0x0,0x5(%eax)
42891b:	e9 8e f7 ff ff       	jmp    0x4280ae
428920:	33 c0                	xor    %eax,%eax
428922:	f6 c3 10             	test   $0x10,%bl
428925:	74 01                	je     0x428928
428927:	40                   	inc    %eax
428928:	f6 c3 08             	test   $0x8,%bl
42892b:	74 03                	je     0x428930
42892d:	83 c8 04             	or     $0x4,%eax
428930:	f6 c3 04             	test   $0x4,%bl
428933:	74 03                	je     0x428938
428935:	83 c8 08             	or     $0x8,%eax
428938:	f6 c3 02             	test   $0x2,%bl
42893b:	74 03                	je     0x428940
42893d:	83 c8 10             	or     $0x10,%eax
428940:	f6 c3 01             	test   $0x1,%bl
428943:	74 03                	je     0x428948
428945:	83 c8 20             	or     $0x20,%eax
428948:	f7 c3 00 00 08 00    	test   $0x80000,%ebx
42894e:	74 03                	je     0x428953
428950:	83 c8 02             	or     $0x2,%eax
428953:	8b cb                	mov    %ebx,%ecx
428955:	ba 00 03 00 00       	mov    $0x300,%edx
42895a:	23 ca                	and    %edx,%ecx
42895c:	56                   	push   %esi
42895d:	be 00 02 00 00       	mov    $0x200,%esi
428962:	74 23                	je     0x428987
428964:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
42896a:	74 16                	je     0x428982
42896c:	3b ce                	cmp    %esi,%ecx
42896e:	74 0b                	je     0x42897b
428970:	3b ca                	cmp    %edx,%ecx
428972:	75 13                	jne    0x428987
428974:	0d 00 0c 00 00       	or     $0xc00,%eax
428979:	eb 0c                	jmp    0x428987
42897b:	0d 00 08 00 00       	or     $0x800,%eax
428980:	eb 05                	jmp    0x428987
428982:	0d 00 04 00 00       	or     $0x400,%eax
428987:	8b cb                	mov    %ebx,%ecx
428989:	81 e1 00 00 03 00    	and    $0x30000,%ecx
42898f:	74 0c                	je     0x42899d
428991:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
428997:	75 06                	jne    0x42899f
428999:	0b c6                	or     %esi,%eax
42899b:	eb 02                	jmp    0x42899f
42899d:	0b c2                	or     %edx,%eax
42899f:	5e                   	pop    %esi
4289a0:	f7 c3 00 00 04 00    	test   $0x40000,%ebx
4289a6:	74 05                	je     0x4289ad
4289a8:	0d 00 10 00 00       	or     $0x1000,%eax
4289ad:	c3                   	ret
4289ae:	33 c0                	xor    %eax,%eax
4289b0:	f6 c2 10             	test   $0x10,%dl
4289b3:	74 05                	je     0x4289ba
4289b5:	b8 80 00 00 00       	mov    $0x80,%eax
4289ba:	53                   	push   %ebx
4289bb:	56                   	push   %esi
4289bc:	57                   	push   %edi
4289bd:	bb 00 02 00 00       	mov    $0x200,%ebx
4289c2:	f6 c2 08             	test   $0x8,%dl
4289c5:	74 02                	je     0x4289c9
4289c7:	0b c3                	or     %ebx,%eax
4289c9:	f6 c2 04             	test   $0x4,%dl
4289cc:	74 05                	je     0x4289d3
4289ce:	0d 00 04 00 00       	or     $0x400,%eax
4289d3:	f6 c2 02             	test   $0x2,%dl
4289d6:	74 05                	je     0x4289dd
4289d8:	0d 00 08 00 00       	or     $0x800,%eax
4289dd:	f6 c2 01             	test   $0x1,%dl
4289e0:	74 05                	je     0x4289e7
4289e2:	0d 00 10 00 00       	or     $0x1000,%eax
4289e7:	bf 00 01 00 00       	mov    $0x100,%edi
4289ec:	f7 c2 00 00 08 00    	test   $0x80000,%edx
4289f2:	74 02                	je     0x4289f6
4289f4:	0b c7                	or     %edi,%eax
4289f6:	8b ca                	mov    %edx,%ecx
4289f8:	be 00 03 00 00       	mov    $0x300,%esi
4289fd:	23 ce                	and    %esi,%ecx
4289ff:	74 1f                	je     0x428a20
428a01:	3b cf                	cmp    %edi,%ecx
428a03:	74 16                	je     0x428a1b
428a05:	3b cb                	cmp    %ebx,%ecx
428a07:	74 0b                	je     0x428a14
428a09:	3b ce                	cmp    %esi,%ecx
428a0b:	75 13                	jne    0x428a20
428a0d:	0d 00 60 00 00       	or     $0x6000,%eax
428a12:	eb 0c                	jmp    0x428a20
428a14:	0d 00 40 00 00       	or     $0x4000,%eax
428a19:	eb 05                	jmp    0x428a20
428a1b:	0d 00 20 00 00       	or     $0x2000,%eax
428a20:	b9 00 00 00 03       	mov    $0x3000000,%ecx
428a25:	5f                   	pop    %edi
428a26:	23 d1                	and    %ecx,%edx
428a28:	5e                   	pop    %esi
428a29:	5b                   	pop    %ebx
428a2a:	81 fa 00 00 00 01    	cmp    $0x1000000,%edx
428a30:	74 16                	je     0x428a48
428a32:	81 fa 00 00 00 02    	cmp    $0x2000000,%edx
428a38:	74 0a                	je     0x428a44
428a3a:	3b d1                	cmp    %ecx,%edx
428a3c:	75 0f                	jne    0x428a4d
428a3e:	0d 00 80 00 00       	or     $0x8000,%eax
428a43:	c3                   	ret
428a44:	83 c8 40             	or     $0x40,%eax
428a47:	c3                   	ret
428a48:	0d 40 80 00 00       	or     $0x8040,%eax
428a4d:	c3                   	ret
428a4e:	8b ff                	mov    %edi,%edi
428a50:	55                   	push   %ebp
428a51:	8b ec                	mov    %esp,%ebp
428a53:	83 ec 14             	sub    $0x14,%esp
428a56:	53                   	push   %ebx
428a57:	56                   	push   %esi
428a58:	57                   	push   %edi
428a59:	9b d9 7d f8          	fstcw  -0x8(%ebp)
428a5d:	8b 5d f8             	mov    -0x8(%ebp),%ebx
428a60:	33 d2                	xor    %edx,%edx
428a62:	f6 c3 01             	test   $0x1,%bl
428a65:	74 03                	je     0x428a6a
428a67:	6a 10                	push   $0x10
428a69:	5a                   	pop    %edx
428a6a:	f6 c3 04             	test   $0x4,%bl
428a6d:	74 03                	je     0x428a72
428a6f:	83 ca 08             	or     $0x8,%edx
428a72:	f6 c3 08             	test   $0x8,%bl
428a75:	74 03                	je     0x428a7a
428a77:	83 ca 04             	or     $0x4,%edx
428a7a:	f6 c3 10             	test   $0x10,%bl
428a7d:	74 03                	je     0x428a82
428a7f:	83 ca 02             	or     $0x2,%edx
428a82:	f6 c3 20             	test   $0x20,%bl
428a85:	74 03                	je     0x428a8a
428a87:	83 ca 01             	or     $0x1,%edx
428a8a:	f6 c3 02             	test   $0x2,%bl
428a8d:	74 06                	je     0x428a95
428a8f:	81 ca 00 00 08 00    	or     $0x80000,%edx
428a95:	0f b7 cb             	movzwl %bx,%ecx
428a98:	8b c1                	mov    %ecx,%eax
428a9a:	be 00 0c 00 00       	mov    $0xc00,%esi
428a9f:	23 c6                	and    %esi,%eax
428aa1:	bf 00 03 00 00       	mov    $0x300,%edi
428aa6:	74 24                	je     0x428acc
428aa8:	3d 00 04 00 00       	cmp    $0x400,%eax
428aad:	74 17                	je     0x428ac6
428aaf:	3d 00 08 00 00       	cmp    $0x800,%eax
428ab4:	74 08                	je     0x428abe
428ab6:	3b c6                	cmp    %esi,%eax
428ab8:	75 12                	jne    0x428acc
428aba:	0b d7                	or     %edi,%edx
428abc:	eb 0e                	jmp    0x428acc
428abe:	81 ca 00 02 00 00    	or     $0x200,%edx
428ac4:	eb 06                	jmp    0x428acc
428ac6:	81 ca 00 01 00 00    	or     $0x100,%edx
428acc:	23 cf                	and    %edi,%ecx
428ace:	74 10                	je     0x428ae0
428ad0:	81 f9 00 02 00 00    	cmp    $0x200,%ecx
428ad6:	75 0e                	jne    0x428ae6
428ad8:	81 ca 00 00 01 00    	or     $0x10000,%edx
428ade:	eb 06                	jmp    0x428ae6
428ae0:	81 ca 00 00 02 00    	or     $0x20000,%edx
428ae6:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
428aec:	74 06                	je     0x428af4
428aee:	81 ca 00 00 04 00    	or     $0x40000,%edx
428af4:	8b 7d 0c             	mov    0xc(%ebp),%edi
428af7:	8b 4d 08             	mov    0x8(%ebp),%ecx
428afa:	8b c7                	mov    %edi,%eax
428afc:	f7 d0                	not    %eax
428afe:	23 c2                	and    %edx,%eax
428b00:	23 cf                	and    %edi,%ecx
428b02:	0b c1                	or     %ecx,%eax
428b04:	89 45 0c             	mov    %eax,0xc(%ebp)
428b07:	3b c2                	cmp    %edx,%eax
428b09:	0f 84 ae 00 00 00    	je     0x428bbd
428b0f:	8b d8                	mov    %eax,%ebx
428b11:	e8 0a fe ff ff       	call   0x428920
428b16:	0f b7 c0             	movzwl %ax,%eax
428b19:	89 45 fc             	mov    %eax,-0x4(%ebp)
428b1c:	d9 6d fc             	fldcw  -0x4(%ebp)
428b1f:	9b d9 7d fc          	fstcw  -0x4(%ebp)
428b23:	8b 5d fc             	mov    -0x4(%ebp),%ebx
428b26:	33 d2                	xor    %edx,%edx
428b28:	f6 c3 01             	test   $0x1,%bl
428b2b:	74 03                	je     0x428b30
428b2d:	6a 10                	push   $0x10
428b2f:	5a                   	pop    %edx
428b30:	f6 c3 04             	test   $0x4,%bl
428b33:	74 03                	je     0x428b38
428b35:	83 ca 08             	or     $0x8,%edx
428b38:	f6 c3 08             	test   $0x8,%bl
428b3b:	74 03                	je     0x428b40
428b3d:	83 ca 04             	or     $0x4,%edx
428b40:	f6 c3 10             	test   $0x10,%bl
428b43:	74 03                	je     0x428b48
428b45:	83 ca 02             	or     $0x2,%edx
428b48:	f6 c3 20             	test   $0x20,%bl
428b4b:	74 03                	je     0x428b50
428b4d:	83 ca 01             	or     $0x1,%edx
428b50:	f6 c3 02             	test   $0x2,%bl
428b53:	74 06                	je     0x428b5b
428b55:	81 ca 00 00 08 00    	or     $0x80000,%edx
428b5b:	0f b7 cb             	movzwl %bx,%ecx
428b5e:	8b c1                	mov    %ecx,%eax
428b60:	23 c6                	and    %esi,%eax
428b62:	74 28                	je     0x428b8c
428b64:	3d 00 04 00 00       	cmp    $0x400,%eax
428b69:	74 1b                	je     0x428b86
428b6b:	3d 00 08 00 00       	cmp    $0x800,%eax
428b70:	74 0c                	je     0x428b7e
428b72:	3b c6                	cmp    %esi,%eax
428b74:	75 16                	jne    0x428b8c
428b76:	81 ca 00 03 00 00    	or     $0x300,%edx
428b7c:	eb 0e                	jmp    0x428b8c
428b7e:	81 ca 00 02 00 00    	or     $0x200,%edx
428b84:	eb 06                	jmp    0x428b8c
428b86:	81 ca 00 01 00 00    	or     $0x100,%edx
428b8c:	81 e1 00 03 00 00    	and    $0x300,%ecx
428b92:	74 10                	je     0x428ba4
428b94:	81 f9 00 02 00 00    	cmp    $0x200,%ecx
428b9a:	75 0e                	jne    0x428baa
428b9c:	81 ca 00 00 01 00    	or     $0x10000,%edx
428ba2:	eb 06                	jmp    0x428baa
428ba4:	81 ca 00 00 02 00    	or     $0x20000,%edx
428baa:	f7 c3 00 10 00 00    	test   $0x1000,%ebx
428bb0:	74 06                	je     0x428bb8
428bb2:	81 ca 00 00 04 00    	or     $0x40000,%edx
428bb8:	89 55 0c             	mov    %edx,0xc(%ebp)
428bbb:	8b c2                	mov    %edx,%eax
428bbd:	33 f6                	xor    %esi,%esi
428bbf:	39 35 d8 08 45 00    	cmp    %esi,0x4508d8
428bc5:	0f 84 8d 01 00 00    	je     0x428d58
428bcb:	81 e7 1f 03 08 03    	and    $0x308031f,%edi
428bd1:	89 7d ec             	mov    %edi,-0x14(%ebp)
428bd4:	0f ae 5d f0          	stmxcsr -0x10(%ebp)
428bd8:	8b 45 f0             	mov    -0x10(%ebp),%eax
428bdb:	84 c0                	test   %al,%al
428bdd:	79 03                	jns    0x428be2
428bdf:	6a 10                	push   $0x10
428be1:	5e                   	pop    %esi
428be2:	a9 00 02 00 00       	test   $0x200,%eax
428be7:	74 03                	je     0x428bec
428be9:	83 ce 08             	or     $0x8,%esi
428bec:	a9 00 04 00 00       	test   $0x400,%eax
428bf1:	74 03                	je     0x428bf6
428bf3:	83 ce 04             	or     $0x4,%esi
428bf6:	a9 00 08 00 00       	test   $0x800,%eax
428bfb:	74 03                	je     0x428c00
428bfd:	83 ce 02             	or     $0x2,%esi
428c00:	a9 00 10 00 00       	test   $0x1000,%eax
428c05:	74 03                	je     0x428c0a
428c07:	83 ce 01             	or     $0x1,%esi
428c0a:	a9 00 01 00 00       	test   $0x100,%eax
428c0f:	74 06                	je     0x428c17
428c11:	81 ce 00 00 08 00    	or     $0x80000,%esi
428c17:	8b c8                	mov    %eax,%ecx
428c19:	bb 00 60 00 00       	mov    $0x6000,%ebx
428c1e:	23 cb                	and    %ebx,%ecx
428c20:	74 2a                	je     0x428c4c
428c22:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
428c28:	74 1c                	je     0x428c46
428c2a:	81 f9 00 40 00 00    	cmp    $0x4000,%ecx
428c30:	74 0c                	je     0x428c3e
428c32:	3b cb                	cmp    %ebx,%ecx
428c34:	75 16                	jne    0x428c4c
428c36:	81 ce 00 03 00 00    	or     $0x300,%esi
428c3c:	eb 0e                	jmp    0x428c4c
428c3e:	81 ce 00 02 00 00    	or     $0x200,%esi
428c44:	eb 06                	jmp    0x428c4c
428c46:	81 ce 00 01 00 00    	or     $0x100,%esi
428c4c:	bf 40 80 00 00       	mov    $0x8040,%edi
428c51:	23 c7                	and    %edi,%eax
428c53:	83 e8 40             	sub    $0x40,%eax
428c56:	74 1c                	je     0x428c74
428c58:	2d c0 7f 00 00       	sub    $0x7fc0,%eax
428c5d:	74 0d                	je     0x428c6c
428c5f:	83 e8 40             	sub    $0x40,%eax
428c62:	75 16                	jne    0x428c7a
428c64:	81 ce 00 00 00 01    	or     $0x1000000,%esi
428c6a:	eb 0e                	jmp    0x428c7a
428c6c:	81 ce 00 00 00 03    	or     $0x3000000,%esi
428c72:	eb 06                	jmp    0x428c7a
428c74:	81 ce 00 00 00 02    	or     $0x2000000,%esi
428c7a:	8b 45 ec             	mov    -0x14(%ebp),%eax
428c7d:	8b d0                	mov    %eax,%edx
428c7f:	23 45 08             	and    0x8(%ebp),%eax
428c82:	f7 d2                	not    %edx
428c84:	23 d6                	and    %esi,%edx
428c86:	0b d0                	or     %eax,%edx
428c88:	3b d6                	cmp    %esi,%edx
428c8a:	75 07                	jne    0x428c93
428c8c:	8b c6                	mov    %esi,%eax
428c8e:	e9 b0 00 00 00       	jmp    0x428d43
428c93:	e8 16 fd ff ff       	call   0x4289ae
428c98:	50                   	push   %eax
428c99:	89 45 f4             	mov    %eax,-0xc(%ebp)
428c9c:	e8 6e 03 00 00       	call   0x42900f
428ca1:	59                   	pop    %ecx
428ca2:	0f ae 5d f4          	stmxcsr -0xc(%ebp)
428ca6:	8b 4d f4             	mov    -0xc(%ebp),%ecx
428ca9:	33 d2                	xor    %edx,%edx
428cab:	84 c9                	test   %cl,%cl
428cad:	79 03                	jns    0x428cb2
428caf:	6a 10                	push   $0x10