423a38:	8b 45 08             	mov    0x8(%ebp),%eax
423a3b:	85 14 98             	test   %edx,(%eax,%ebx,4)
423a3e:	74 21                	je     0x423a61
423a40:	8d 4f 01             	lea    0x1(%edi),%ecx
423a43:	51                   	push   %ecx
423a44:	50                   	push   %eax
423a45:	e8 49 ff ff ff       	call   0x423993
423a4a:	85 c0                	test   %eax,%eax
423a4c:	59                   	pop    %ecx
423a4d:	59                   	pop    %ecx
423a4e:	75 0e                	jne    0x423a5e
423a50:	57                   	push   %edi
423a51:	ff 75 08             	push   0x8(%ebp)
423a54:	e8 6c ff ff ff       	call   0x4239c5
423a59:	59                   	pop    %ecx
423a5a:	59                   	pop    %ecx
423a5b:	89 45 fc             	mov    %eax,-0x4(%ebp)
423a5e:	8b 45 08             	mov    0x8(%ebp),%eax
423a61:	83 ca ff             	or     $0xffffffff,%edx
423a64:	8b ce                	mov    %esi,%ecx
423a66:	d3 e2                	shl    %cl,%edx
423a68:	6a 03                	push   $0x3
423a6a:	59                   	pop    %ecx
423a6b:	21 14 98             	and    %edx,(%eax,%ebx,4)
423a6e:	43                   	inc    %ebx
423a6f:	3b d9                	cmp    %ecx,%ebx
423a71:	7d 09                	jge    0x423a7c
423a73:	8d 3c 98             	lea    (%eax,%ebx,4),%edi
423a76:	2b cb                	sub    %ebx,%ecx
423a78:	33 c0                	xor    %eax,%eax
423a7a:	f3 ab                	rep stos %eax,%es:(%edi)
423a7c:	8b 45 fc             	mov    -0x4(%ebp),%eax
423a7f:	5f                   	pop    %edi
423a80:	5e                   	pop    %esi
423a81:	5b                   	pop    %ebx
423a82:	c9                   	leave
423a83:	c3                   	ret
423a84:	8b 44 24 08          	mov    0x8(%esp),%eax
423a88:	8b 4c 24 04          	mov    0x4(%esp),%ecx
423a8c:	6a 03                	push   $0x3
423a8e:	5a                   	pop    %edx
423a8f:	2b c8                	sub    %eax,%ecx
423a91:	56                   	push   %esi
423a92:	8b 30                	mov    (%eax),%esi
423a94:	89 34 01             	mov    %esi,(%ecx,%eax,1)
423a97:	83 c0 04             	add    $0x4,%eax
423a9a:	4a                   	dec    %edx
423a9b:	75 f5                	jne    0x423a92
423a9d:	5e                   	pop    %esi
423a9e:	c3                   	ret
423a9f:	57                   	push   %edi
423aa0:	8b 7c 24 08          	mov    0x8(%esp),%edi
423aa4:	33 c0                	xor    %eax,%eax
423aa6:	ab                   	stos   %eax,%es:(%edi)
423aa7:	ab                   	stos   %eax,%es:(%edi)
423aa8:	ab                   	stos   %eax,%es:(%edi)
423aa9:	5f                   	pop    %edi
423aaa:	c3                   	ret
423aab:	33 c0                	xor    %eax,%eax
423aad:	8b 4c 24 04          	mov    0x4(%esp),%ecx
423ab1:	83 3c 81 00          	cmpl   $0x0,(%ecx,%eax,4)
423ab5:	75 0a                	jne    0x423ac1
423ab7:	40                   	inc    %eax
423ab8:	83 f8 03             	cmp    $0x3,%eax
423abb:	7c f0                	jl     0x423aad
423abd:	33 c0                	xor    %eax,%eax
423abf:	40                   	inc    %eax
423ac0:	c3                   	ret
423ac1:	33 c0                	xor    %eax,%eax
423ac3:	c3                   	ret
423ac4:	55                   	push   %ebp
423ac5:	8b ec                	mov    %esp,%ebp
423ac7:	83 ec 0c             	sub    $0xc,%esp
423aca:	8b 45 0c             	mov    0xc(%ebp),%eax
423acd:	53                   	push   %ebx
423ace:	56                   	push   %esi
423acf:	57                   	push   %edi
423ad0:	6a 20                	push   $0x20
423ad2:	5e                   	pop    %esi
423ad3:	99                   	cltd
423ad4:	8b ce                	mov    %esi,%ecx
423ad6:	f7 f9                	idiv   %ecx
423ad8:	8b 5d 08             	mov    0x8(%ebp),%ebx
423adb:	83 cf ff             	or     $0xffffffff,%edi
423ade:	89 75 0c             	mov    %esi,0xc(%ebp)
423ae1:	8b ca                	mov    %edx,%ecx
423ae3:	d3 e7                	shl    %cl,%edi
423ae5:	89 45 f8             	mov    %eax,-0x8(%ebp)
423ae8:	33 c0                	xor    %eax,%eax
423aea:	29 55 0c             	sub    %edx,0xc(%ebp)
423aed:	f7 d7                	not    %edi
423aef:	89 45 fc             	mov    %eax,-0x4(%ebp)
423af2:	8b 34 83             	mov    (%ebx,%eax,4),%esi
423af5:	8b ce                	mov    %esi,%ecx
423af7:	23 cf                	and    %edi,%ecx
423af9:	89 4d f4             	mov    %ecx,-0xc(%ebp)
423afc:	8b ca                	mov    %edx,%ecx
423afe:	d3 ee                	shr    %cl,%esi
423b00:	8b 4d 0c             	mov    0xc(%ebp),%ecx
423b03:	0b 75 fc             	or     -0x4(%ebp),%esi
423b06:	89 34 83             	mov    %esi,(%ebx,%eax,4)
423b09:	8b 75 f4             	mov    -0xc(%ebp),%esi
423b0c:	d3 e6                	shl    %cl,%esi
423b0e:	40                   	inc    %eax
423b0f:	83 f8 03             	cmp    $0x3,%eax
423b12:	89 75 fc             	mov    %esi,-0x4(%ebp)
423b15:	7c db                	jl     0x423af2
423b17:	6a 02                	push   $0x2
423b19:	58                   	pop    %eax
423b1a:	8b c8                	mov    %eax,%ecx
423b1c:	2b 4d f8             	sub    -0x8(%ebp),%ecx
423b1f:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
423b22:	3b 45 f8             	cmp    -0x8(%ebp),%eax
423b25:	7c 07                	jl     0x423b2e
423b27:	8b 11                	mov    (%ecx),%edx
423b29:	89 14 83             	mov    %edx,(%ebx,%eax,4)
423b2c:	eb 04                	jmp    0x423b32
423b2e:	83 24 83 00          	andl   $0x0,(%ebx,%eax,4)
423b32:	48                   	dec    %eax
423b33:	83 e9 04             	sub    $0x4,%ecx
423b36:	85 c0                	test   %eax,%eax
423b38:	7d e8                	jge    0x423b22
423b3a:	5f                   	pop    %edi
423b3b:	5e                   	pop    %esi
423b3c:	5b                   	pop    %ebx
423b3d:	c9                   	leave
423b3e:	c3                   	ret
423b3f:	55                   	push   %ebp
423b40:	8b ec                	mov    %esp,%ebp
423b42:	83 ec 18             	sub    $0x18,%esp
423b45:	8b 45 08             	mov    0x8(%ebp),%eax
423b48:	0f b7 48 0a          	movzwl 0xa(%eax),%ecx
423b4c:	53                   	push   %ebx
423b4d:	56                   	push   %esi
423b4e:	8b 75 10             	mov    0x10(%ebp),%esi
423b51:	57                   	push   %edi
423b52:	8b f9                	mov    %ecx,%edi
423b54:	81 e1 00 80 00 00    	and    $0x8000,%ecx
423b5a:	89 4d 08             	mov    %ecx,0x8(%ebp)
423b5d:	8b 48 06             	mov    0x6(%eax),%ecx
423b60:	89 4d f4             	mov    %ecx,-0xc(%ebp)
423b63:	8b 48 02             	mov    0x2(%eax),%ecx
423b66:	0f b7 00             	movzwl (%eax),%eax
423b69:	c1 e0 10             	shl    $0x10,%eax
423b6c:	81 e7 ff 7f 00 00    	and    $0x7fff,%edi
423b72:	81 ef ff 3f 00 00    	sub    $0x3fff,%edi
423b78:	81 ff 01 c0 ff ff    	cmp    $0xffffc001,%edi
423b7e:	89 45 fc             	mov    %eax,-0x4(%ebp)
423b81:	8d 45 f4             	lea    -0xc(%ebp),%eax
423b84:	89 4d f8             	mov    %ecx,-0x8(%ebp)
423b87:	50                   	push   %eax
423b88:	75 1e                	jne    0x423ba8
423b8a:	33 db                	xor    %ebx,%ebx
423b8c:	e8 1a ff ff ff       	call   0x423aab
423b91:	85 c0                	test   %eax,%eax
423b93:	59                   	pop    %ecx
423b94:	0f 85 bd 00 00 00    	jne    0x423c57
423b9a:	8d 7d f4             	lea    -0xc(%ebp),%edi
423b9d:	ab                   	stos   %eax,%es:(%edi)
423b9e:	ab                   	stos   %eax,%es:(%edi)
423b9f:	ab                   	stos   %eax,%es:(%edi)
423ba0:	6a 02                	push   $0x2
423ba2:	58                   	pop    %eax
423ba3:	e9 b1 00 00 00       	jmp    0x423c59
423ba8:	8d 45 e8             	lea    -0x18(%ebp),%eax
423bab:	50                   	push   %eax
423bac:	e8 d3 fe ff ff       	call   0x423a84
423bb1:	ff 76 08             	push   0x8(%esi)
423bb4:	8d 45 f4             	lea    -0xc(%ebp),%eax
423bb7:	50                   	push   %eax
423bb8:	e8 55 fe ff ff       	call   0x423a12
423bbd:	83 c4 10             	add    $0x10,%esp
423bc0:	85 c0                	test   %eax,%eax
423bc2:	74 01                	je     0x423bc5
423bc4:	47                   	inc    %edi
423bc5:	8b 46 04             	mov    0x4(%esi),%eax
423bc8:	8b c8                	mov    %eax,%ecx
423bca:	2b 4e 08             	sub    0x8(%esi),%ecx
423bcd:	3b f9                	cmp    %ecx,%edi
423bcf:	7d 0a                	jge    0x423bdb
423bd1:	33 c0                	xor    %eax,%eax
423bd3:	8d 7d f4             	lea    -0xc(%ebp),%edi
423bd6:	ab                   	stos   %eax,%es:(%edi)
423bd7:	ab                   	stos   %eax,%es:(%edi)
423bd8:	ab                   	stos   %eax,%es:(%edi)
423bd9:	eb 3c                	jmp    0x423c17
423bdb:	3b f8                	cmp    %eax,%edi
423bdd:	7f 3c                	jg     0x423c1b
423bdf:	2b c7                	sub    %edi,%eax
423be1:	8b f8                	mov    %eax,%edi
423be3:	8d 45 e8             	lea    -0x18(%ebp),%eax
423be6:	50                   	push   %eax
423be7:	8d 45 f4             	lea    -0xc(%ebp),%eax
423bea:	50                   	push   %eax
423beb:	e8 94 fe ff ff       	call   0x423a84
423bf0:	8d 45 f4             	lea    -0xc(%ebp),%eax
423bf3:	57                   	push   %edi
423bf4:	50                   	push   %eax
423bf5:	e8 ca fe ff ff       	call   0x423ac4
423bfa:	ff 76 08             	push   0x8(%esi)
423bfd:	8d 45 f4             	lea    -0xc(%ebp),%eax
423c00:	50                   	push   %eax
423c01:	e8 0c fe ff ff       	call   0x423a12
423c06:	8b 46 0c             	mov    0xc(%esi),%eax
423c09:	40                   	inc    %eax
423c0a:	50                   	push   %eax
423c0b:	8d 45 f4             	lea    -0xc(%ebp),%eax
423c0e:	50                   	push   %eax
423c0f:	e8 b0 fe ff ff       	call   0x423ac4
423c14:	83 c4 20             	add    $0x20,%esp
423c17:	33 db                	xor    %ebx,%ebx
423c19:	eb 85                	jmp    0x423ba0
423c1b:	3b 3e                	cmp    (%esi),%edi
423c1d:	ff 76 0c             	push   0xc(%esi)
423c20:	7c 21                	jl     0x423c43
423c22:	33 c0                	xor    %eax,%eax
423c24:	8d 7d f4             	lea    -0xc(%ebp),%edi
423c27:	ab                   	stos   %eax,%es:(%edi)
423c28:	ab                   	stos   %eax,%es:(%edi)
423c29:	ab                   	stos   %eax,%es:(%edi)
423c2a:	80 4d f7 80          	orb    $0x80,-0x9(%ebp)
423c2e:	8d 45 f4             	lea    -0xc(%ebp),%eax
423c31:	50                   	push   %eax
423c32:	e8 8d fe ff ff       	call   0x423ac4
423c37:	8b 5e 14             	mov    0x14(%esi),%ebx
423c3a:	03 1e                	add    (%esi),%ebx
423c3c:	59                   	pop    %ecx
423c3d:	33 c0                	xor    %eax,%eax
423c3f:	59                   	pop    %ecx
423c40:	40                   	inc    %eax
423c41:	eb 16                	jmp    0x423c59
423c43:	8b 5e 14             	mov    0x14(%esi),%ebx
423c46:	80 65 f7 7f          	andb   $0x7f,-0x9(%ebp)
423c4a:	8d 45 f4             	lea    -0xc(%ebp),%eax
423c4d:	50                   	push   %eax
423c4e:	03 df                	add    %edi,%ebx
423c50:	e8 6f fe ff ff       	call   0x423ac4
423c55:	59                   	pop    %ecx
423c56:	59                   	pop    %ecx
423c57:	33 c0                	xor    %eax,%eax
423c59:	6a 1f                	push   $0x1f
423c5b:	59                   	pop    %ecx
423c5c:	2b 4e 0c             	sub    0xc(%esi),%ecx
423c5f:	8b 76 10             	mov    0x10(%esi),%esi
423c62:	d3 e3                	shl    %cl,%ebx
423c64:	8b 4d 08             	mov    0x8(%ebp),%ecx
423c67:	f7 d9                	neg    %ecx
423c69:	1b c9                	sbb    %ecx,%ecx
423c6b:	81 e1 00 00 00 80    	and    $0x80000000,%ecx
423c71:	0b d9                	or     %ecx,%ebx
423c73:	0b 5d f4             	or     -0xc(%ebp),%ebx
423c76:	83 fe 40             	cmp    $0x40,%esi
423c79:	75 0d                	jne    0x423c88
423c7b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
423c7e:	8b 55 f8             	mov    -0x8(%ebp),%edx
423c81:	89 59 04             	mov    %ebx,0x4(%ecx)
423c84:	89 11                	mov    %edx,(%ecx)
423c86:	eb 0a                	jmp    0x423c92
423c88:	83 fe 20             	cmp    $0x20,%esi
423c8b:	75 05                	jne    0x423c92
423c8d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
423c90:	89 19                	mov    %ebx,(%ecx)
423c92:	5f                   	pop    %edi
423c93:	5e                   	pop    %esi
423c94:	5b                   	pop    %ebx
423c95:	c9                   	leave
423c96:	c3                   	ret
423c97:	68 1c 96 4a 00       	push   $0x4a961c
423c9c:	ff 74 24 0c          	push   0xc(%esp)
423ca0:	ff 74 24 0c          	push   0xc(%esp)
423ca4:	e8 96 fe ff ff       	call   0x423b3f
423ca9:	83 c4 0c             	add    $0xc,%esp
423cac:	c3                   	ret
423cad:	68 34 96 4a 00       	push   $0x4a9634
423cb2:	ff 74 24 0c          	push   0xc(%esp)
423cb6:	ff 74 24 0c          	push   0xc(%esp)
423cba:	e8 80 fe ff ff       	call   0x423b3f
423cbf:	83 c4 0c             	add    $0xc,%esp
423cc2:	c3                   	ret
423cc3:	55                   	push   %ebp
423cc4:	8b ec                	mov    %esp,%ebp
423cc6:	83 ec 10             	sub    $0x10,%esp
423cc9:	8b 45 08             	mov    0x8(%ebp),%eax
423ccc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
423cd0:	33 c9                	xor    %ecx,%ecx
423cd2:	66 8b 48 0a          	mov    0xa(%eax),%cx
423cd6:	56                   	push   %esi
423cd7:	57                   	push   %edi
423cd8:	6a 40                	push   $0x40
423cda:	8b f1                	mov    %ecx,%esi
423cdc:	81 e1 00 80 00 00    	and    $0x8000,%ecx
423ce2:	8b f9                	mov    %ecx,%edi
423ce4:	8b 48 06             	mov    0x6(%eax),%ecx
423ce7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
423cea:	8b 48 02             	mov    0x2(%eax),%ecx
423ced:	0f b7 00             	movzwl (%eax),%eax
423cf0:	c1 e0 10             	shl    $0x10,%eax
423cf3:	89 45 f8             	mov    %eax,-0x8(%ebp)
423cf6:	8d 45 f0             	lea    -0x10(%ebp),%eax
423cf9:	50                   	push   %eax
423cfa:	81 e6 ff 7f 00 00    	and    $0x7fff,%esi
423d00:	89 4d f4             	mov    %ecx,-0xc(%ebp)
423d03:	e8 0a fd ff ff       	call   0x423a12
423d08:	85 c0                	test   %eax,%eax
423d0a:	59                   	pop    %ecx
423d0b:	59                   	pop    %ecx
423d0c:	74 08                	je     0x423d16
423d0e:	b9 00 00 00 80       	mov    $0x80000000,%ecx
423d13:	46                   	inc    %esi
423d14:	eb 03                	jmp    0x423d19
423d16:	8b 4d f0             	mov    -0x10(%ebp),%ecx
423d19:	66 81 fe ff 7f       	cmp    $0x7fff,%si
423d1e:	75 07                	jne    0x423d27
423d20:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
423d27:	8b 45 0c             	mov    0xc(%ebp),%eax
423d2a:	0b fe                	or     %esi,%edi
423d2c:	89 48 04             	mov    %ecx,0x4(%eax)
423d2f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
423d32:	66 89 78 08          	mov    %di,0x8(%eax)
423d36:	5f                   	pop    %edi
423d37:	89 08                	mov    %ecx,(%eax)
423d39:	8b 45 fc             	mov    -0x4(%ebp),%eax
423d3c:	5e                   	pop    %esi
423d3d:	c9                   	leave
423d3e:	c3                   	ret
423d3f:	55                   	push   %ebp
423d40:	8b ec                	mov    %esp,%ebp
423d42:	83 ec 14             	sub    $0x14,%esp
423d45:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
423d4a:	89 45 fc             	mov    %eax,-0x4(%ebp)
423d4d:	33 c0                	xor    %eax,%eax
423d4f:	50                   	push   %eax
423d50:	50                   	push   %eax
423d51:	50                   	push   %eax
423d52:	50                   	push   %eax
423d53:	ff 75 0c             	push   0xc(%ebp)
423d56:	8d 45 ec             	lea    -0x14(%ebp),%eax
423d59:	50                   	push   %eax
423d5a:	8d 45 f0             	lea    -0x10(%ebp),%eax
423d5d:	50                   	push   %eax
423d5e:	e8 00 42 00 00       	call   0x427f63
423d63:	ff 75 08             	push   0x8(%ebp)
423d66:	8d 45 f0             	lea    -0x10(%ebp),%eax
423d69:	50                   	push   %eax
423d6a:	e8 28 ff ff ff       	call   0x423c97
423d6f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423d72:	83 c4 24             	add    $0x24,%esp
423d75:	e8 64 3e ff ff       	call   0x417bde
423d7a:	c9                   	leave
423d7b:	c3                   	ret