4239c8:	53                   	push   %ebx
4239c9:	ff b5 70 ff ff ff    	push   -0x90(%ebp)
4239cf:	8b 08                	mov    (%eax),%ecx
4239d1:	89 4d 24             	mov    %ecx,0x24(%ebp)
4239d4:	8b 40 04             	mov    0x4(%eax),%eax
4239d7:	83 62 18 00          	andl   $0x0,0x18(%edx)
4239db:	8b 95 5c ff ff ff    	mov    -0xa4(%ebp),%edx
4239e1:	50                   	push   %eax
4239e2:	51                   	push   %ecx
4239e3:	89 45 28             	mov    %eax,0x28(%ebp)
4239e6:	e8 7f f8 ff ff       	call   0x42326a
4239eb:	83 c4 20             	add    $0x20,%esp
4239ee:	8d 4d d0             	lea    -0x30(%ebp),%ecx
4239f1:	6a 00                	push   $0x0
4239f3:	6a 01                	push   $0x1
4239f5:	e8 bf 88 ff ff       	call   0x41c2b9
4239fa:	6a 00                	push   $0x0
4239fc:	6a 01                	push   $0x1
4239fe:	8d 4d b4             	lea    -0x4c(%ebp),%ecx
423a01:	e8 b3 88 ff ff       	call   0x41c2b9
423a06:	8b 85 5c ff ff ff    	mov    -0xa4(%ebp),%eax
423a0c:	e8 a4 ca 06 00       	call   0x4904b5
423a11:	c3                   	ret
423a12:	8b ff                	mov    %edi,%edi
423a14:	55                   	push   %ebp
423a15:	8b ec                	mov    %esp,%ebp
423a17:	8b 4d 0c             	mov    0xc(%ebp),%ecx
423a1a:	56                   	push   %esi
423a1b:	8b f2                	mov    %edx,%esi
423a1d:	c6 06 25             	movb   $0x25,(%esi)
423a20:	8d 46 01             	lea    0x1(%esi),%eax
423a23:	f6 c1 20             	test   $0x20,%cl
423a26:	74 04                	je     0x423a2c
423a28:	c6 00 2b             	movb   $0x2b,(%eax)
423a2b:	40                   	inc    %eax
423a2c:	f6 c1 10             	test   $0x10,%cl
423a2f:	74 04                	je     0x423a35
423a31:	c6 00 23             	movb   $0x23,(%eax)
423a34:	40                   	inc    %eax
423a35:	8a 55 08             	mov    0x8(%ebp),%dl
423a38:	66 c7 00 2e 2a       	movw   $0x2a2e,(%eax)
423a3d:	83 c0 02             	add    $0x2,%eax
423a40:	84 d2                	test   %dl,%dl
423a42:	74 03                	je     0x423a47
423a44:	88 10                	mov    %dl,(%eax)
423a46:	40                   	inc    %eax
423a47:	81 e1 00 30 00 00    	and    $0x3000,%ecx
423a4d:	81 f9 00 20 00 00    	cmp    $0x2000,%ecx
423a53:	75 04                	jne    0x423a59
423a55:	b1 66                	mov    $0x66,%cl
423a57:	eb 10                	jmp    0x423a69
423a59:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
423a5f:	0f 95 c1             	setne  %cl
423a62:	8d 0c 4d 65 00 00 00 	lea    0x65(,%ecx,2),%ecx
423a69:	88 08                	mov    %cl,(%eax)
423a6b:	c6 40 01 00          	movb   $0x0,0x1(%eax)
423a6f:	8b c6                	mov    %esi,%eax
423a71:	5e                   	pop    %esi
423a72:	5d                   	pop    %ebp
423a73:	c3                   	ret
423a74:	cc                   	int3
423a75:	cc                   	int3
423a76:	cc                   	int3
423a77:	cc                   	int3
423a78:	cc                   	int3
423a79:	cc                   	int3
423a7a:	cc                   	int3
423a7b:	cc                   	int3
423a7c:	cc                   	int3
423a7d:	cc                   	int3
423a7e:	cc                   	int3
423a7f:	cc                   	int3
423a80:	8b ff                	mov    %edi,%edi
423a82:	55                   	push   %ebp
423a83:	8b ec                	mov    %esp,%ebp
423a85:	ff 71 14             	push   0x14(%ecx)
423a88:	8b 4d 08             	mov    0x8(%ebp),%ecx
423a8b:	e8 4b 65 ff ff       	call   0x419fdb
423a90:	8b 45 08             	mov    0x8(%ebp),%eax
423a93:	5d                   	pop    %ebp
423a94:	c2 04 00             	ret    $0x4
423a97:	cc                   	int3
423a98:	cc                   	int3
423a99:	cc                   	int3
423a9a:	cc                   	int3
423a9b:	cc                   	int3
423a9c:	cc                   	int3
423a9d:	cc                   	int3
423a9e:	cc                   	int3
423a9f:	cc                   	int3
423aa0:	8b ff                	mov    %edi,%edi
423aa2:	55                   	push   %ebp
423aa3:	8b ec                	mov    %esp,%ebp
423aa5:	ff 71 10             	push   0x10(%ecx)
423aa8:	8b 4d 08             	mov    0x8(%ebp),%ecx
423aab:	e8 2b 65 ff ff       	call   0x419fdb
423ab0:	8b 45 08             	mov    0x8(%ebp),%eax
423ab3:	5d                   	pop    %ebp
423ab4:	c2 04 00             	ret    $0x4
423ab7:	cc                   	int3
423ab8:	cc                   	int3
423ab9:	cc                   	int3
423aba:	cc                   	int3
423abb:	cc                   	int3
423abc:	cc                   	int3
423abd:	cc                   	int3
423abe:	cc                   	int3
423abf:	cc                   	int3
423ac0:	8b ff                	mov    %edi,%edi
423ac2:	55                   	push   %ebp
423ac3:	8b ec                	mov    %esp,%ebp
423ac5:	ff 71 08             	push   0x8(%ecx)
423ac8:	8b 4d 08             	mov    0x8(%ebp),%ecx
423acb:	e8 bc 83 ff ff       	call   0x41be8c
423ad0:	8b 45 08             	mov    0x8(%ebp),%eax
423ad3:	5d                   	pop    %ebp
423ad4:	c2 04 00             	ret    $0x4
423ad7:	cc                   	int3
423ad8:	cc                   	int3
423ad9:	cc                   	int3
423ada:	cc                   	int3
423adb:	cc                   	int3
423adc:	cc                   	int3
423add:	cc                   	int3
423ade:	cc                   	int3
423adf:	cc                   	int3
423ae0:	66 8b 41 0e          	mov    0xe(%ecx),%ax
423ae4:	c3                   	ret
423ae5:	cc                   	int3
423ae6:	cc                   	int3
423ae7:	cc                   	int3
423ae8:	cc                   	int3
423ae9:	cc                   	int3
423aea:	cc                   	int3
423aeb:	cc                   	int3
423aec:	cc                   	int3
423aed:	cc                   	int3
423aee:	cc                   	int3
423aef:	cc                   	int3
423af0:	66 8b 41 0c          	mov    0xc(%ecx),%ax
423af4:	c3                   	ret
423af5:	8b ff                	mov    %edi,%edi
423af7:	56                   	push   %esi
423af8:	8b f1                	mov    %ecx,%esi
423afa:	ff 76 08             	push   0x8(%esi)
423afd:	c7 06 a0 14 40 00    	movl   $0x4014a0,(%esi)
423b03:	e8 44 9f 06 00       	call   0x48da4c
423b08:	ff 76 10             	push   0x10(%esi)
423b0b:	e8 3c 9f 06 00       	call   0x48da4c
423b10:	ff 76 14             	push   0x14(%esi)
423b13:	e8 34 9f 06 00       	call   0x48da4c
423b18:	83 c4 0c             	add    $0xc,%esp
423b1b:	c7 06 7c 11 40 00    	movl   $0x40117c,(%esi)
423b21:	5e                   	pop    %esi
423b22:	c3                   	ret
423b23:	cc                   	int3
423b24:	cc                   	int3
423b25:	cc                   	int3
423b26:	cc                   	int3
423b27:	cc                   	int3
423b28:	cc                   	int3
423b29:	cc                   	int3
423b2a:	cc                   	int3
423b2b:	cc                   	int3
423b2c:	cc                   	int3
423b2d:	cc                   	int3
423b2e:	cc                   	int3
423b2f:	cc                   	int3
423b30:	8b ff                	mov    %edi,%edi
423b32:	55                   	push   %ebp
423b33:	8b ec                	mov    %esp,%ebp
423b35:	56                   	push   %esi
423b36:	8b f1                	mov    %ecx,%esi
423b38:	e8 b8 ff ff ff       	call   0x423af5
423b3d:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
423b41:	74 08                	je     0x423b4b
423b43:	56                   	push   %esi
423b44:	ff 15 10 74 4a 00    	call   *0x4a7410
423b4a:	59                   	pop    %ecx
423b4b:	8b c6                	mov    %esi,%eax
423b4d:	5e                   	pop    %esi
423b4e:	5d                   	pop    %ebp
423b4f:	c2 04 00             	ret    $0x4
423b52:	8b ff                	mov    %edi,%edi
423b54:	56                   	push   %esi
423b55:	8b f1                	mov    %ecx,%esi
423b57:	8b 0e                	mov    (%esi),%ecx
423b59:	85 c9                	test   %ecx,%ecx
423b5b:	74 13                	je     0x423b70
423b5d:	e8 70 0d 00 00       	call   0x4248d2
423b62:	b9 ff ff 00 00       	mov    $0xffff,%ecx
423b67:	66 3b c8             	cmp    %ax,%cx
423b6a:	74 04                	je     0x423b70
423b6c:	32 c0                	xor    %al,%al
423b6e:	eb 05                	jmp    0x423b75
423b70:	83 26 00             	andl   $0x0,(%esi)
423b73:	b0 01                	mov    $0x1,%al
423b75:	88 46 04             	mov    %al,0x4(%esi)
423b78:	8b c6                	mov    %esi,%eax
423b7a:	5e                   	pop    %esi
423b7b:	c3                   	ret
423b7c:	8b ff                	mov    %edi,%edi
423b7e:	55                   	push   %ebp
423b7f:	8b ec                	mov    %esp,%ebp
423b81:	83 ec 20             	sub    $0x20,%esp
423b84:	53                   	push   %ebx
423b85:	8b 5d 0c             	mov    0xc(%ebp),%ebx
423b88:	56                   	push   %esi
423b89:	8b 75 08             	mov    0x8(%ebp),%esi
423b8c:	57                   	push   %edi
423b8d:	89 55 f4             	mov    %edx,-0xc(%ebp)
423b90:	89 4d f8             	mov    %ecx,-0x8(%ebp)
423b93:	53                   	push   %ebx
423b94:	6a 00                	push   $0x0
423b96:	56                   	push   %esi
423b97:	e8 1b ca 06 00       	call   0x4905b7
423b9c:	8b f8                	mov    %eax,%edi
423b9e:	83 c4 0c             	add    $0xc,%esp
423ba1:	85 ff                	test   %edi,%edi
423ba3:	74 04                	je     0x423ba9
423ba5:	2b fe                	sub    %esi,%edi
423ba7:	eb 02                	jmp    0x423bab
423ba9:	8b fb                	mov    %ebx,%edi
423bab:	8b 4d f8             	mov    -0x8(%ebp),%ecx
423bae:	8d 55 e4             	lea    -0x1c(%ebp),%edx
423bb1:	57                   	push   %edi
423bb2:	56                   	push   %esi
423bb3:	ff 75 18             	push   0x18(%ebp)
423bb6:	ff 75 14             	push   0x14(%ebp)
423bb9:	e8 4b 00 00 00       	call   0x423c09
423bbe:	83 c4 10             	add    $0x10,%esp
423bc1:	46                   	inc    %esi
423bc2:	8b 08                	mov    (%eax),%ecx
423bc4:	89 4d 14             	mov    %ecx,0x14(%ebp)
423bc7:	8b 40 04             	mov    0x4(%eax),%eax
423bca:	89 45 18             	mov    %eax,0x18(%ebp)
423bcd:	2b df                	sub    %edi,%ebx
423bcf:	74 29                	je     0x423bfa
423bd1:	66 83 7d 10 00       	cmpw   $0x0,0x10(%ebp)
423bd6:	74 1d                	je     0x423bf5
423bd8:	ff 75 10             	push   0x10(%ebp)
423bdb:	89 4d ec             	mov    %ecx,-0x14(%ebp)
423bde:	8d 4d ec             	lea    -0x14(%ebp),%ecx
423be1:	89 45 f0             	mov    %eax,-0x10(%ebp)
423be4:	e8 6b 00 00 00       	call   0x423c54
423be9:	8b 45 ec             	mov    -0x14(%ebp),%eax
423bec:	89 45 14             	mov    %eax,0x14(%ebp)
423bef:	8b 45 f0             	mov    -0x10(%ebp),%eax
423bf2:	89 45 18             	mov    %eax,0x18(%ebp)
423bf5:	03 f7                	add    %edi,%esi
423bf7:	4b                   	dec    %ebx
423bf8:	eb 99                	jmp    0x423b93
423bfa:	8b 55 f4             	mov    -0xc(%ebp),%edx
423bfd:	5f                   	pop    %edi
423bfe:	5e                   	pop    %esi
423bff:	5b                   	pop    %ebx
423c00:	89 42 04             	mov    %eax,0x4(%edx)
423c03:	8b c2                	mov    %edx,%eax
423c05:	89 0a                	mov    %ecx,(%edx)
423c07:	c9                   	leave
423c08:	c3                   	ret
423c09:	8b ff                	mov    %edi,%edi
423c0b:	55                   	push   %ebp
423c0c:	8b ec                	mov    %esp,%ebp
423c0e:	51                   	push   %ecx
423c0f:	56                   	push   %esi
423c10:	57                   	push   %edi
423c11:	8b 7d 14             	mov    0x14(%ebp),%edi
423c14:	8b f2                	mov    %edx,%esi
423c16:	89 75 fc             	mov    %esi,-0x4(%ebp)
423c19:	85 ff                	test   %edi,%edi
423c1b:	74 26                	je     0x423c43
423c1d:	53                   	push   %ebx
423c1e:	8b 5d 10             	mov    0x10(%ebp),%ebx
423c21:	8d 71 08             	lea    0x8(%ecx),%esi
423c24:	8a 0b                	mov    (%ebx),%cl
423c26:	56                   	push   %esi
423c27:	e8 df 0b 00 00       	call   0x42480b
423c2c:	59                   	pop    %ecx
423c2d:	0f b7 c0             	movzwl %ax,%eax
423c30:	8d 4d 08             	lea    0x8(%ebp),%ecx
423c33:	50                   	push   %eax
423c34:	e8 1b 00 00 00       	call   0x423c54
423c39:	43                   	inc    %ebx
423c3a:	83 ef 01             	sub    $0x1,%edi
423c3d:	75 e5                	jne    0x423c24
423c3f:	8b 75 fc             	mov    -0x4(%ebp),%esi
423c42:	5b                   	pop    %ebx
423c43:	8b 45 08             	mov    0x8(%ebp),%eax
423c46:	89 06                	mov    %eax,(%esi)
423c48:	8b 45 0c             	mov    0xc(%ebp),%eax
423c4b:	89 46 04             	mov    %eax,0x4(%esi)
423c4e:	8b c6                	mov    %esi,%eax
423c50:	5f                   	pop    %edi
423c51:	5e                   	pop    %esi
423c52:	c9                   	leave
423c53:	c3                   	ret
423c54:	8b ff                	mov    %edi,%edi
423c56:	55                   	push   %ebp
423c57:	8b ec                	mov    %esp,%ebp
423c59:	56                   	push   %esi
423c5a:	8b f1                	mov    %ecx,%esi
423c5c:	8b 4e 04             	mov    0x4(%esi),%ecx
423c5f:	85 c9                	test   %ecx,%ecx
423c61:	74 12                	je     0x423c75
423c63:	ff 75 08             	push   0x8(%ebp)
423c66:	e8 51 0b 00 00       	call   0x4247bc
423c6b:	b9 ff ff 00 00       	mov    $0xffff,%ecx
423c70:	66 3b c8             	cmp    %ax,%cx
423c73:	75 03                	jne    0x423c78
423c75:	c6 06 01             	movb   $0x1,(%esi)
423c78:	8b c6                	mov    %esi,%eax
423c7a:	5e                   	pop    %esi
423c7b:	5d                   	pop    %ebp
423c7c:	c2 04 00             	ret    $0x4
423c7f:	8b ff                	mov    %edi,%edi
423c81:	56                   	push   %esi
423c82:	8b f1                	mov    %ecx,%esi
423c84:	ff 76 08             	push   0x8(%esi)
423c87:	e8 c0 9d 06 00       	call   0x48da4c
423c8c:	ff 76 10             	push   0x10(%esi)
423c8f:	e8 b8 9d 06 00       	call   0x48da4c
423c94:	ff 76 14             	push   0x14(%esi)
423c97:	e8 b0 9d 06 00       	call   0x48da4c
423c9c:	83 c4 0c             	add    $0xc,%esp
423c9f:	5e                   	pop    %esi
423ca0:	c3                   	ret
423ca1:	8b ff                	mov    %edi,%edi
423ca3:	55                   	push   %ebp
423ca4:	8b ec                	mov    %esp,%ebp
423ca6:	56                   	push   %esi
423ca7:	8b f1                	mov    %ecx,%esi
423ca9:	57                   	push   %edi
423caa:	8b 4e 14             	mov    0x14(%esi),%ecx
423cad:	8b c1                	mov    %ecx,%eax
423caf:	f7 d0                	not    %eax
423cb1:	83 f8 01             	cmp    $0x1,%eax
423cb4:	77 08                	ja     0x423cbe
423cb6:	e8 97 9d 06 00       	call   0x48da52
423cbb:	8b 4e 14             	mov    0x14(%esi),%ecx
423cbe:	8d 79 01             	lea    0x1(%ecx),%edi
423cc1:	8b ce                	mov    %esi,%ecx
423cc3:	6a 00                	push   $0x0
423cc5:	57                   	push   %edi
423cc6:	e8 d2 89 ff ff       	call   0x41c69d
423ccb:	84 c0                	test   %al,%al
423ccd:	74 1e                	je     0x423ced
423ccf:	83 7e 18 08          	cmpl   $0x8,0x18(%esi)
423cd3:	8d 4e 04             	lea    0x4(%esi),%ecx
423cd6:	8b 56 14             	mov    0x14(%esi),%edx