4149cc:	75 f5                	jne    0x4149c3
4149ce:	2b ca                	sub    %edx,%ecx
4149d0:	d1 f9                	sar    $1,%ecx
4149d2:	81 f9 e7 7f 00 00    	cmp    $0x7fe7,%ecx
4149d8:	0f 87 2b c1 00 00    	ja     0x420b09
4149de:	8b fe                	mov    %esi,%edi
4149e0:	33 d2                	xor    %edx,%edx
4149e2:	8d 4f 02             	lea    0x2(%edi),%ecx
4149e5:	66 8b 07             	mov    (%edi),%ax
4149e8:	83 c7 02             	add    $0x2,%edi
4149eb:	66 3b c2             	cmp    %dx,%ax
4149ee:	75 f5                	jne    0x4149e5
4149f0:	2b f9                	sub    %ecx,%edi
4149f2:	8b ce                	mov    %esi,%ecx
4149f4:	d1 ff                	sar    $1,%edi
4149f6:	e8 65 b6 ff ff       	call   0x410060
4149fb:	50                   	push   %eax
4149fc:	8d 57 01             	lea    0x1(%edi),%edx
4149ff:	8b ce                	mov    %esi,%ecx
414a01:	e8 9a a9 ff ff       	call   0x40f3a0
414a06:	0f b7 46 02          	movzwl 0x2(%esi),%eax
414a0a:	6a 3a                	push   $0x3a
414a0c:	5a                   	pop    %edx
414a0d:	66 3b c2             	cmp    %dx,%ax
414a10:	0f 85 03 c0 00 00    	jne    0x420a19
414a16:	56                   	push   %esi
414a17:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
414a1d:	e8 1f 5c ff ff       	call   0x40a641
414a22:	8b 7d 0c             	mov    0xc(%ebp),%edi
414a25:	8b d7                	mov    %edi,%edx
414a27:	8b b5 dc fd ff ff    	mov    -0x224(%ebp),%esi
414a2d:	8b ce                	mov    %esi,%ecx
414a2f:	53                   	push   %ebx
414a30:	e8 a0 d2 ff ff       	call   0x411cd5
414a35:	85 c0                	test   %eax,%eax
414a37:	0f 85 cc c0 00 00    	jne    0x420b09
414a3d:	8b 9d d4 fd ff ff    	mov    -0x22c(%ebp),%ebx
414a43:	8b 03                	mov    (%ebx),%eax
414a45:	8b 40 18             	mov    0x18(%eax),%eax
414a48:	f6 00 10             	testb  $0x10,(%eax)
414a4b:	75 43                	jne    0x414a90
414a4d:	6a 5c                	push   $0x5c
414a4f:	5a                   	pop    %edx
414a50:	8b ce                	mov    %esi,%ecx
414a52:	e8 9e b7 ff ff       	call   0x4101f5
414a57:	8b f0                	mov    %eax,%esi
414a59:	85 f6                	test   %esi,%esi
414a5b:	0f 84 5b c0 00 00    	je     0x420abc
414a61:	83 c6 02             	add    $0x2,%esi
414a64:	8b 0b                	mov    (%ebx),%ecx
414a66:	6a 5c                	push   $0x5c
414a68:	5a                   	pop    %edx
414a69:	8b 49 10             	mov    0x10(%ecx),%ecx
414a6c:	e8 84 b7 ff ff       	call   0x4101f5
414a71:	85 c0                	test   %eax,%eax
414a73:	75 05                	jne    0x414a7a
414a75:	8b 03                	mov    (%ebx),%eax
414a77:	8b 40 10             	mov    0x10(%eax),%eax
414a7a:	50                   	push   %eax
414a7b:	8b c6                	mov    %esi,%eax
414a7d:	8b ce                	mov    %esi,%ecx
414a7f:	2b 85 dc fd ff ff    	sub    -0x224(%ebp),%eax
414a85:	d1 f8                	sar    $1,%eax
414a87:	2b f8                	sub    %eax,%edi
414a89:	8b d7                	mov    %edi,%edx
414a8b:	e8 10 a9 ff ff       	call   0x40f3a0
414a90:	8b 45 e8             	mov    -0x18(%ebp),%eax
414a93:	85 c0                	test   %eax,%eax
414a95:	0f 84 2c c0 00 00    	je     0x420ac7
414a9b:	8b 9d d0 fd ff ff    	mov    -0x230(%ebp),%ebx
414aa1:	8b cb                	mov    %ebx,%ecx
414aa3:	8b 55 14             	mov    0x14(%ebp),%edx
414aa6:	50                   	push   %eax
414aa7:	e8 29 d2 ff ff       	call   0x411cd5
414aac:	85 c0                	test   %eax,%eax
414aae:	0f 85 55 c0 00 00    	jne    0x420b09
414ab4:	50                   	push   %eax
414ab5:	8b f0                	mov    %eax,%esi
414ab7:	a3 a8 67 43 00       	mov    %eax,0x4367a8
414abc:	ff 15 7c a0 44 00    	call   *0x44a07c
414ac2:	8b bd cc fd ff ff    	mov    -0x234(%ebp),%edi
414ac8:	33 c0                	xor    %eax,%eax
414aca:	8b cb                	mov    %ebx,%ecx
414acc:	89 07                	mov    %eax,(%edi)
414ace:	0f b7 03             	movzwl (%ebx),%eax
414ad1:	8b d0                	mov    %eax,%edx
414ad3:	66 85 c0             	test   %ax,%ax
414ad6:	74 0f                	je     0x414ae7
414ad8:	33 d2                	xor    %edx,%edx
414ada:	8b c1                	mov    %ecx,%eax
414adc:	83 c1 02             	add    $0x2,%ecx
414adf:	66 39 11             	cmp    %dx,(%ecx)
414ae2:	75 f6                	jne    0x414ada
414ae4:	0f b7 10             	movzwl (%eax),%edx
414ae7:	6a 5c                	push   $0x5c
414ae9:	58                   	pop    %eax
414aea:	66 3b d0             	cmp    %ax,%dx
414aed:	0f 84 df bf 00 00    	je     0x420ad2
414af3:	53                   	push   %ebx
414af4:	ff 15 98 a0 44 00    	call   *0x44a098
414afa:	83 f8 ff             	cmp    $0xffffffff,%eax
414afd:	75 43                	jne    0x414b42
414aff:	ff 15 80 a0 44 00    	call   *0x44a080
414b05:	a3 a8 67 43 00       	mov    %eax,0x4367a8
414b0a:	85 c0                	test   %eax,%eax
414b0c:	74 09                	je     0x414b17
414b0e:	83 f8 02             	cmp    $0x2,%eax
414b11:	0f 85 e2 bf 00 00    	jne    0x420af9
414b17:	85 f6                	test   %esi,%esi
414b19:	75 34                	jne    0x414b4f
414b1b:	8b 45 e8             	mov    -0x18(%ebp),%eax
414b1e:	33 c9                	xor    %ecx,%ecx
414b20:	89 4d e8             	mov    %ecx,-0x18(%ebp)
414b23:	85 c0                	test   %eax,%eax
414b25:	74 08                	je     0x414b2f
414b27:	50                   	push   %eax
414b28:	ff 15 e0 a3 44 00    	call   *0x44a3e0
414b2e:	59                   	pop    %ecx
414b2f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414b32:	33 c0                	xor    %eax,%eax
414b34:	5f                   	pop    %edi
414b35:	5e                   	pop    %esi
414b36:	33 cd                	xor    %ebp,%ecx
414b38:	5b                   	pop    %ebx
414b39:	e8 f2 1f 00 00       	call   0x416b30
414b3e:	c9                   	leave
414b3f:	c2 18 00             	ret    $0x18
414b42:	a8 10                	test   $0x10,%al
414b44:	74 d1                	je     0x414b17
414b46:	33 c0                	xor    %eax,%eax
414b48:	40                   	inc    %eax
414b49:	89 07                	mov    %eax,(%edi)
414b4b:	8b f0                	mov    %eax,%esi
414b4d:	eb c8                	jmp    0x414b17
414b4f:	8b 8d dc fd ff ff    	mov    -0x224(%ebp),%ecx
414b55:	6a 5c                	push   $0x5c
414b57:	58                   	pop    %eax
414b58:	8b d0                	mov    %eax,%edx
414b5a:	e8 96 b6 ff ff       	call   0x4101f5
414b5f:	8b d0                	mov    %eax,%edx
414b61:	33 f6                	xor    %esi,%esi
414b63:	8b fa                	mov    %edx,%edi
414b65:	8d 47 02             	lea    0x2(%edi),%eax
414b68:	66 8b 0f             	mov    (%edi),%cx
414b6b:	83 c7 02             	add    $0x2,%edi
414b6e:	66 3b ce             	cmp    %si,%cx
414b71:	75 f5                	jne    0x414b68
414b73:	8b f3                	mov    %ebx,%esi
414b75:	2b f8                	sub    %eax,%edi
414b77:	d1 ff                	sar    $1,%edi
414b79:	8d 4e 02             	lea    0x2(%esi),%ecx
414b7c:	66 8b 06             	mov    (%esi),%ax
414b7f:	83 c6 02             	add    $0x2,%esi
414b82:	66 3b 85 d8 fd ff ff 	cmp    -0x228(%ebp),%ax
414b89:	75 f1                	jne    0x414b7c
414b8b:	2b f1                	sub    %ecx,%esi
414b8d:	8d 47 01             	lea    0x1(%edi),%eax
414b90:	d1 fe                	sar    $1,%esi
414b92:	03 c6                	add    %esi,%eax
414b94:	3d e7 7f 00 00       	cmp    $0x7fe7,%eax
414b99:	0f 87 6a bf 00 00    	ja     0x420b09
414b9f:	52                   	push   %edx
414ba0:	8b 55 14             	mov    0x14(%ebp),%edx
414ba3:	8b cb                	mov    %ebx,%ecx
414ba5:	e8 96 b0 ff ff       	call   0x40fc40
414baa:	e9 6c ff ff ff       	jmp    0x414b1b
414baf:	8b ff                	mov    %edi,%edi
414bb1:	55                   	push   %ebp
414bb2:	8b ec                	mov    %esp,%ebp
414bb4:	51                   	push   %ecx
414bb5:	51                   	push   %ecx
414bb6:	57                   	push   %edi
414bb7:	8b f9                	mov    %ecx,%edi
414bb9:	89 55 f8             	mov    %edx,-0x8(%ebp)
414bbc:	33 c9                	xor    %ecx,%ecx
414bbe:	89 4d fc             	mov    %ecx,-0x4(%ebp)
414bc1:	85 ff                	test   %edi,%edi
414bc3:	74 0f                	je     0x414bd4
414bc5:	56                   	push   %esi
414bc6:	6a 20                	push   $0x20
414bc8:	5e                   	pop    %esi
414bc9:	53                   	push   %ebx
414bca:	0f b7 07             	movzwl (%edi),%eax
414bcd:	66 85 c0             	test   %ax,%ax
414bd0:	75 07                	jne    0x414bd9
414bd2:	5b                   	pop    %ebx
414bd3:	5e                   	pop    %esi
414bd4:	8b c1                	mov    %ecx,%eax
414bd6:	5f                   	pop    %edi
414bd7:	c9                   	leave
414bd8:	c3                   	ret
414bd9:	8b df                	mov    %edi,%ebx
414bdb:	8b d0                	mov    %eax,%edx
414bdd:	66 3b d6             	cmp    %si,%dx
414be0:	0f 86 2d bf 00 00    	jbe    0x420b13
414be6:	0f b7 03             	movzwl (%ebx),%eax
414be9:	8b fb                	mov    %ebx,%edi
414beb:	66 85 c0             	test   %ax,%ax
414bee:	74 14                	je     0x414c04
414bf0:	8b d0                	mov    %eax,%edx
414bf2:	66 3b d6             	cmp    %si,%dx
414bf5:	76 0d                	jbe    0x414c04
414bf7:	83 c7 02             	add    $0x2,%edi
414bfa:	0f b7 07             	movzwl (%edi),%eax
414bfd:	8b d0                	mov    %eax,%edx
414bff:	66 85 c0             	test   %ax,%ax
414c02:	75 ee                	jne    0x414bf2
414c04:	8b f7                	mov    %edi,%esi
414c06:	2b f3                	sub    %ebx,%esi
414c08:	d1 fe                	sar    $1,%esi
414c0a:	83 fe 02             	cmp    $0x2,%esi
414c0d:	0f 82 16 bf 00 00    	jb     0x420b29
414c13:	56                   	push   %esi
414c14:	68 44 26 40 00       	push   $0x402644
414c19:	53                   	push   %ebx
414c1a:	ff 15 28 a4 44 00    	call   *0x44a428
414c20:	83 c4 0c             	add    $0xc,%esp
414c23:	85 c0                	test   %eax,%eax
414c25:	75 11                	jne    0x414c38
414c27:	8b 45 f8             	mov    -0x8(%ebp),%eax
414c2a:	33 c9                	xor    %ecx,%ecx
414c2c:	83 20 00             	andl   $0x0,(%eax)
414c2f:	41                   	inc    %ecx
414c30:	89 4d fc             	mov    %ecx,-0x4(%ebp)
414c33:	6a 20                	push   $0x20
414c35:	5e                   	pop    %esi
414c36:	eb 92                	jmp    0x414bca
414c38:	8b 4d fc             	mov    -0x4(%ebp),%ecx
414c3b:	e9 e9 be 00 00       	jmp    0x420b29
414c40:	8b ff                	mov    %edi,%edi
414c42:	55                   	push   %ebp
414c43:	8b ec                	mov    %esp,%ebp
414c45:	51                   	push   %ecx
414c46:	51                   	push   %ecx
414c47:	56                   	push   %esi
414c48:	57                   	push   %edi
414c49:	6a 1a                	push   $0x1a
414c4b:	8b f9                	mov    %ecx,%edi
414c4d:	8b 4a 20             	mov    0x20(%edx),%ecx
414c50:	58                   	pop    %eax
414c51:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
414c55:	85 c9                	test   %ecx,%ecx
414c57:	74 18                	je     0x414c71
414c59:	8b 75 08             	mov    0x8(%ebp),%esi
414c5c:	83 fe ff             	cmp    $0xffffffff,%esi
414c5f:	0f 85 f8 be 00 00    	jne    0x420b5d
414c65:	ff 05 14 67 43 00    	incl   0x436714
414c6b:	5f                   	pop    %edi
414c6c:	5e                   	pop    %esi
414c6d:	c9                   	leave
414c6e:	c2 08 00             	ret    $0x8
414c71:	8b ca                	mov    %edx,%ecx
414c73:	eb e4                	jmp    0x414c59
414c75:	8b ff                	mov    %edi,%edi
414c77:	55                   	push   %ebp
414c78:	8b ec                	mov    %esp,%ebp
414c7a:	51                   	push   %ecx
414c7b:	8b 45 08             	mov    0x8(%ebp),%eax
414c7e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
414c82:	53                   	push   %ebx
414c83:	56                   	push   %esi
414c84:	8b f2                	mov    %edx,%esi
414c86:	33 db                	xor    %ebx,%ebx
414c88:	ba 02 80 00 00       	mov    $0x8002,%edx
414c8d:	43                   	inc    %ebx
414c8e:	23 c2                	and    %edx,%eax
414c90:	3b c2                	cmp    %edx,%eax
414c92:	0f 84 3f bf 00 00    	je     0x420bd7
414c98:	5e                   	pop    %esi
414c99:	8b c3                	mov    %ebx,%eax
414c9b:	5b                   	pop    %ebx
414c9c:	c9                   	leave
414c9d:	c2 04 00             	ret    $0x4
414ca0:	8b ff                	mov    %edi,%edi
414ca2:	55                   	push   %ebp
414ca3:	8b ec                	mov    %esp,%ebp
414ca5:	51                   	push   %ecx
414ca6:	51                   	push   %ecx
414ca7:	53                   	push   %ebx
414ca8:	56                   	push   %esi
414ca9:	57                   	push   %edi
414caa:	8b 7d 0c             	mov    0xc(%ebp),%edi
414cad:	33 c0                	xor    %eax,%eax
414caf:	50                   	push   %eax
414cb0:	57                   	push   %edi
414cb1:	ff 75 08             	push   0x8(%ebp)
414cb4:	8b da                	mov    %edx,%ebx
414cb6:	89 45 fc             	mov    %eax,-0x4(%ebp)
414cb9:	8b f1                	mov    %ecx,%esi
414cbb:	a3 a0 67 43 00       	mov    %eax,0x4367a0
414cc0:	53                   	push   %ebx
414cc1:	56                   	push   %esi
414cc2:	ff 15 2c a4 44 00    	call   *0x44a42c
414cc8:	59                   	pop    %ecx
414cc9:	50                   	push   %eax
414cca:	ff 15 94 a0 44 00    	call   *0x44a094
414cd0:	85 c0                	test   %eax,%eax
414cd2:	0f 84 70 bf 00 00    	je     0x420c48
414cd8:	8b 0f                	mov    (%edi),%ecx
414cda:	85 c9                	test   %ecx,%ecx
414cdc:	0f 84 1a bf 00 00    	je     0x420bfc
414ce2:	8b 55 10             	mov    0x10(%ebp),%edx
414ce5:	8b 42 1c             	mov    0x1c(%edx),%eax
414ce8:	a9 00 c0 00 00       	test   $0xc000,%eax
414ced:	74 19                	je     0x414d08
414cef:	b9 02 80 00 00       	mov    $0x8002,%ecx
414cf4:	23 c1                	and    %ecx,%eax
414cf6:	3b c1                	cmp    %ecx,%eax
414cf8:	0f 84 22 bf 00 00    	je     0x420c20
414cfe:	33 c0                	xor    %eax,%eax
414d00:	40                   	inc    %eax
414d01:	5f                   	pop    %edi
414d02:	5e                   	pop    %esi
414d03:	5b                   	pop    %ebx
414d04:	c9                   	leave
414d05:	c2 14 00             	ret    $0x14
414d08:	83 f9 02             	cmp    $0x2,%ecx
414d0b:	72 0a                	jb     0x414d17
414d0d:	b9 ff fe 00 00       	mov    $0xfeff,%ecx
414d12:	66 39 0b             	cmp    %cx,(%ebx)
414d15:	74 0a                	je     0x414d21
414d17:	0d 00 80 00 00       	or     $0x8000,%eax
414d1c:	89 42 1c             	mov    %eax,0x1c(%edx)
414d1f:	eb ce                	jmp    0x414cef
414d21:	0d 00 40 00 00       	or     $0x4000,%eax
414d26:	eb f4                	jmp    0x414d1c
414d28:	8b ff                	mov    %edi,%edi
414d2a:	55                   	push   %ebp
414d2b:	8b ec                	mov    %esp,%ebp
414d2d:	83 ec 0c             	sub    $0xc,%esp
414d30:	53                   	push   %ebx
414d31:	8b d9                	mov    %ecx,%ebx
414d33:	8b c2                	mov    %edx,%eax
414d35:	56                   	push   %esi
414d36:	57                   	push   %edi
414d37:	8b 7d 08             	mov    0x8(%ebp),%edi
414d3a:	33 f6                	xor    %esi,%esi
414d3c:	8b 13                	mov    (%ebx),%edx
414d3e:	89 45 fc             	mov    %eax,-0x4(%ebp)
414d41:	89 43 04             	mov    %eax,0x4(%ebx)
414d44:	89 7b 08             	mov    %edi,0x8(%ebx)
414d47:	8d 4a 02             	lea    0x2(%edx),%ecx
414d4a:	66 8b 02             	mov    (%edx),%ax
414d4d:	83 c2 02             	add    $0x2,%edx
414d50:	66 3b c6             	cmp    %si,%ax
414d53:	75 f5                	jne    0x414d4a
414d55:	8b 43 18             	mov    0x18(%ebx),%eax
414d58:	2b d1                	sub    %ecx,%edx
414d5a:	d1 fa                	sar    $1,%edx
414d5c:	83 c0 2c             	add    $0x2c,%eax