42cc56:	33 c0                	xor    %eax,%eax
42cc58:	8a 45 fb             	mov    -0x5(%ebp),%al
42cc5b:	8b 55 fc             	mov    -0x4(%ebp),%edx
42cc5e:	8b 5c 82 0c          	mov    0xc(%edx,%eax,4),%ebx
42cc62:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cc65:	8b 40 04             	mov    0x4(%eax),%eax
42cc68:	e8 c3 51 ff ff       	call   0x421e30
42cc6d:	8b c3                	mov    %ebx,%eax
42cc6f:	5f                   	pop    %edi
42cc70:	5e                   	pop    %esi
42cc71:	5b                   	pop    %ebx
42cc72:	8b e5                	mov    %ebp,%esp
42cc74:	5d                   	pop    %ebp
42cc75:	c3                   	ret
42cc76:	8b c0                	mov    %eax,%eax
42cc78:	55                   	push   %ebp
42cc79:	8b ec                	mov    %esp,%ebp
42cc7b:	83 c4 dc             	add    $0xffffffdc,%esp
42cc7e:	53                   	push   %ebx
42cc7f:	56                   	push   %esi
42cc80:	57                   	push   %edi
42cc81:	89 4d f8             	mov    %ecx,-0x8(%ebp)
42cc84:	89 55 fc             	mov    %edx,-0x4(%ebp)
42cc87:	8b f8                	mov    %eax,%edi
42cc89:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42cc8c:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
42cc90:	0f 84 3a 01 00 00    	je     0x42cdd0
42cc96:	8b 47 04             	mov    0x4(%edi),%eax
42cc99:	8b 10                	mov    (%eax),%edx
42cc9b:	ff 52 2c             	call   *0x2c(%edx)
42cc9e:	85 c0                	test   %eax,%eax
42cca0:	0f 84 2a 01 00 00    	je     0x42cdd0
42cca6:	8b 47 04             	mov    0x4(%edi),%eax
42cca9:	8b 10                	mov    (%eax),%edx
42ccab:	ff 52 20             	call   *0x20(%edx)
42ccae:	85 c0                	test   %eax,%eax
42ccb0:	0f 84 1a 01 00 00    	je     0x42cdd0
42ccb6:	8b d3                	mov    %ebx,%edx
42ccb8:	8b c7                	mov    %edi,%eax
42ccba:	e8 e1 f9 ff ff       	call   0x42c6a0
42ccbf:	8b f0                	mov    %eax,%esi
42ccc1:	e8 5a 45 00 00       	call   0x431220
42ccc6:	e8 35 46 00 00       	call   0x431300
42cccb:	84 c0                	test   %al,%al
42cccd:	0f 84 80 00 00 00    	je     0x42cd53
42ccd3:	8b 45 f8             	mov    -0x8(%ebp),%eax
42ccd6:	8b 10                	mov    (%eax),%edx
42ccd8:	89 55 dc             	mov    %edx,-0x24(%ebp)
42ccdb:	8b 50 04             	mov    0x4(%eax),%edx
42ccde:	89 55 e0             	mov    %edx,-0x20(%ebp)
42cce1:	8b 47 04             	mov    0x4(%edi),%eax
42cce4:	8b 10                	mov    (%eax),%edx
42cce6:	ff 52 2c             	call   *0x2c(%edx)
42cce9:	33 d2                	xor    %edx,%edx
42cceb:	8a 57 20             	mov    0x20(%edi),%dl
42ccee:	8b ca                	mov    %edx,%ecx
42ccf0:	99                   	cltd
42ccf1:	f7 f9                	idiv   %ecx
42ccf3:	03 45 dc             	add    -0x24(%ebp),%eax
42ccf6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42ccf9:	8b 47 04             	mov    0x4(%edi),%eax
42ccfc:	8b 10                	mov    (%eax),%edx
42ccfe:	ff 52 20             	call   *0x20(%edx)
42cd01:	03 45 e0             	add    -0x20(%ebp),%eax
42cd04:	89 45 e8             	mov    %eax,-0x18(%ebp)
42cd07:	fe cb                	dec    %bl
42cd09:	74 08                	je     0x42cd13
42cd0b:	4b                   	dec    %ebx
42cd0c:	80 eb 02             	sub    $0x2,%bl
42cd0f:	72 06                	jb     0x42cd17
42cd11:	eb 08                	jmp    0x42cd1b
42cd13:	b3 05                	mov    $0x5,%bl
42cd15:	eb 06                	jmp    0x42cd1d
42cd17:	b3 04                	mov    $0x4,%bl
42cd19:	eb 02                	jmp    0x42cd1d
42cd1b:	b3 02                	mov    $0x2,%bl
42cd1d:	e8 fe 44 00 00       	call   0x431220
42cd22:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42cd25:	8b d3                	mov    %ebx,%edx
42cd27:	e8 38 48 00 00       	call   0x431564
42cd2c:	8d 45 dc             	lea    -0x24(%ebp),%eax
42cd2f:	50                   	push   %eax
42cd30:	8b 47 08             	mov    0x8(%edi),%eax
42cd33:	e8 98 af 01 00       	call   0x447cd0
42cd38:	50                   	push   %eax
42cd39:	56                   	push   %esi
42cd3a:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cd3d:	e8 ea 0c ff ff       	call   0x41da2c
42cd42:	50                   	push   %eax
42cd43:	e8 d8 44 00 00       	call   0x431220
42cd48:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42cd4b:	5a                   	pop    %edx
42cd4c:	e8 ff 46 00 00       	call   0x431450
42cd51:	eb 7d                	jmp    0x42cdd0
42cd53:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
42cd57:	75 05                	jne    0x42cd5e
42cd59:	80 fb 03             	cmp    $0x3,%bl
42cd5c:	75 37                	jne    0x42cd95
42cd5e:	6a 01                	push   $0x1
42cd60:	68 ff ff ff 1f       	push   $0x1fffffff
42cd65:	68 ff ff ff 1f       	push   $0x1fffffff
42cd6a:	6a 00                	push   $0x0
42cd6c:	6a 00                	push   $0x0
42cd6e:	8b 45 f8             	mov    -0x8(%ebp),%eax
42cd71:	8b 40 04             	mov    0x4(%eax),%eax
42cd74:	50                   	push   %eax
42cd75:	8b 45 f8             	mov    -0x8(%ebp),%eax
42cd78:	8b 00                	mov    (%eax),%eax
42cd7a:	50                   	push   %eax
42cd7b:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cd7e:	e8 a9 0c ff ff       	call   0x41da2c
42cd83:	50                   	push   %eax
42cd84:	56                   	push   %esi
42cd85:	8b 47 08             	mov    0x8(%edi),%eax
42cd88:	e8 43 af 01 00       	call   0x447cd0
42cd8d:	50                   	push   %eax
42cd8e:	e8 fd 75 ff ff       	call   0x424390
42cd93:	eb 3b                	jmp    0x42cdd0
42cd95:	6a 00                	push   $0x0
42cd97:	68 ff ff ff 1f       	push   $0x1fffffff
42cd9c:	b8 0f 00 00 ff       	mov    $0xff00000f,%eax
42cda1:	e8 b2 f8 fe ff       	call   0x41c658
42cda6:	50                   	push   %eax
42cda7:	6a 00                	push   $0x0
42cda9:	6a 00                	push   $0x0
42cdab:	8b 45 f8             	mov    -0x8(%ebp),%eax
42cdae:	8b 40 04             	mov    0x4(%eax),%eax
42cdb1:	50                   	push   %eax
42cdb2:	8b 45 f8             	mov    -0x8(%ebp),%eax
42cdb5:	8b 00                	mov    (%eax),%eax
42cdb7:	50                   	push   %eax
42cdb8:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cdbb:	e8 6c 0c ff ff       	call   0x41da2c
42cdc0:	50                   	push   %eax
42cdc1:	56                   	push   %esi
42cdc2:	8b 47 08             	mov    0x8(%edi),%eax
42cdc5:	e8 06 af 01 00       	call   0x447cd0
42cdca:	50                   	push   %eax
42cdcb:	e8 c0 75 ff ff       	call   0x424390
42cdd0:	5f                   	pop    %edi
42cdd1:	5e                   	pop    %esi
42cdd2:	5b                   	pop    %ebx
42cdd3:	8b e5                	mov    %ebp,%esp
42cdd5:	5d                   	pop    %ebp
42cdd6:	c2 08 00             	ret    $0x8
42cdd9:	8d 40 00             	lea    0x0(%eax),%eax
42cddc:	55                   	push   %ebp
42cddd:	8b ec                	mov    %esp,%ebp
42cddf:	83 c4 f0             	add    $0xfffffff0,%esp
42cde2:	53                   	push   %ebx
42cde3:	56                   	push   %esi
42cde4:	57                   	push   %edi
42cde5:	8b 75 10             	mov    0x10(%ebp),%esi
42cde8:	8d 7d f0             	lea    -0x10(%ebp),%edi
42cdeb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cdec:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cded:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cdee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cdef:	8b f1                	mov    %ecx,%esi
42cdf1:	8b da                	mov    %edx,%ebx
42cdf3:	8b 7d 08             	mov    0x8(%ebp),%edi
42cdf6:	b2 01                	mov    $0x1,%dl
42cdf8:	8b 43 14             	mov    0x14(%ebx),%eax
42cdfb:	e8 00 06 ff ff       	call   0x41d400
42ce00:	80 7d 0c 01          	cmpb   $0x1,0xc(%ebp)
42ce04:	0f 85 82 00 00 00    	jne    0x42ce8c
42ce0a:	6a 01                	push   $0x1
42ce0c:	6a 01                	push   $0x1
42ce0e:	8d 45 f0             	lea    -0x10(%ebp),%eax
42ce11:	50                   	push   %eax
42ce12:	e8 81 99 fd ff       	call   0x406798
42ce17:	ba 14 00 00 ff       	mov    $0xff000014,%edx
42ce1c:	8b 43 0c             	mov    0xc(%ebx),%eax
42ce1f:	e8 f4 fc fe ff       	call   0x41cb18
42ce24:	8b c7                	mov    %edi,%eax
42ce26:	83 c8 05             	or     $0x5,%eax
42ce29:	50                   	push   %eax
42ce2a:	8d 45 f0             	lea    -0x10(%ebp),%eax
42ce2d:	50                   	push   %eax
42ce2e:	8b c6                	mov    %esi,%eax
42ce30:	e8 47 74 fd ff       	call   0x40427c
42ce35:	50                   	push   %eax
42ce36:	8b c6                	mov    %esi,%eax
42ce38:	e8 3f 76 fd ff       	call   0x40447c
42ce3d:	50                   	push   %eax
42ce3e:	8b c3                	mov    %ebx,%eax
42ce40:	e8 e7 0b ff ff       	call   0x41da2c
42ce45:	50                   	push   %eax
42ce46:	e8 bd 96 fd ff       	call   0x406508
42ce4b:	6a ff                	push   $0xffffffff
42ce4d:	6a ff                	push   $0xffffffff
42ce4f:	8d 45 f0             	lea    -0x10(%ebp),%eax
42ce52:	50                   	push   %eax
42ce53:	e8 40 99 fd ff       	call   0x406798
42ce58:	ba 10 00 00 ff       	mov    $0xff000010,%edx
42ce5d:	8b 43 0c             	mov    0xc(%ebx),%eax
42ce60:	e8 b3 fc fe ff       	call   0x41cb18
42ce65:	83 cf 05             	or     $0x5,%edi
42ce68:	57                   	push   %edi
42ce69:	8d 45 f0             	lea    -0x10(%ebp),%eax
42ce6c:	50                   	push   %eax
42ce6d:	8b c6                	mov    %esi,%eax
42ce6f:	e8 08 74 fd ff       	call   0x40427c
42ce74:	50                   	push   %eax
42ce75:	8b c6                	mov    %esi,%eax
42ce77:	e8 00 76 fd ff       	call   0x40447c
42ce7c:	50                   	push   %eax
42ce7d:	8b c3                	mov    %ebx,%eax
42ce7f:	e8 a8 0b ff ff       	call   0x41da2c
42ce84:	50                   	push   %eax
42ce85:	e8 7e 96 fd ff       	call   0x406508
42ce8a:	eb 25                	jmp    0x42ceb1
42ce8c:	83 cf 05             	or     $0x5,%edi
42ce8f:	57                   	push   %edi
42ce90:	8d 45 f0             	lea    -0x10(%ebp),%eax
42ce93:	50                   	push   %eax
42ce94:	8b c6                	mov    %esi,%eax
42ce96:	e8 e1 73 fd ff       	call   0x40427c
42ce9b:	50                   	push   %eax
42ce9c:	8b c6                	mov    %esi,%eax
42ce9e:	e8 d9 75 fd ff       	call   0x40447c
42cea3:	50                   	push   %eax
42cea4:	8b c3                	mov    %ebx,%eax
42cea6:	e8 81 0b ff ff       	call   0x41da2c
42ceab:	50                   	push   %eax
42ceac:	e8 57 96 fd ff       	call   0x406508
42ceb1:	5f                   	pop    %edi
42ceb2:	5e                   	pop    %esi
42ceb3:	5b                   	pop    %ebx
42ceb4:	8b e5                	mov    %ebp,%esp
42ceb6:	5d                   	pop    %ebp
42ceb7:	c2 0c 00             	ret    $0xc
42ceba:	8b c0                	mov    %eax,%eax
42cebc:	55                   	push   %ebp
42cebd:	8b ec                	mov    %esp,%ebp
42cebf:	83 c4 c0             	add    $0xffffffc0,%esp
42cec2:	53                   	push   %ebx
42cec3:	56                   	push   %esi
42cec4:	57                   	push   %edi
42cec5:	8b d9                	mov    %ecx,%ebx
42cec7:	89 55 f8             	mov    %edx,-0x8(%ebp)
42ceca:	89 45 fc             	mov    %eax,-0x4(%ebp)
42cecd:	8b 7d 0c             	mov    0xc(%ebp),%edi
42ced0:	8b 75 10             	mov    0x10(%ebp),%esi
42ced3:	8b 45 08             	mov    0x8(%ebp),%eax
42ced6:	83 e0 02             	and    $0x2,%eax
42ced9:	83 f8 02             	cmp    $0x2,%eax
42cedc:	75 16                	jne    0x42cef4
42cede:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
42cee2:	75 06                	jne    0x42ceea
42cee4:	c6 45 1c 01          	movb   $0x1,0x1c(%ebp)
42cee8:	eb 0a                	jmp    0x42cef4
42ceea:	80 7d 1c 01          	cmpb   $0x1,0x1c(%ebp)
42ceee:	75 04                	jne    0x42cef4
42cef0:	c6 45 1c 00          	movb   $0x0,0x1c(%ebp)
42cef4:	8b 53 0c             	mov    0xc(%ebx),%edx
42cef7:	2b 53 04             	sub    0x4(%ebx),%edx
42cefa:	8b 43 08             	mov    0x8(%ebx),%eax
42cefd:	2b 03                	sub    (%ebx),%eax
42ceff:	8d 4d e8             	lea    -0x18(%ebp),%ecx
42cf02:	e8 29 5a fe ff       	call   0x412930
42cf07:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cf0a:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
42cf0e:	74 2e                	je     0x42cf3e
42cf10:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cf13:	8b 40 04             	mov    0x4(%eax),%eax
42cf16:	8b 10                	mov    (%eax),%edx
42cf18:	ff 52 20             	call   *0x20(%edx)
42cf1b:	50                   	push   %eax
42cf1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
42cf1f:	8b 40 04             	mov    0x4(%eax),%eax
42cf22:	8b 10                	mov    (%eax),%edx
42cf24:	ff 52 2c             	call   *0x2c(%edx)
42cf27:	8b 55 fc             	mov    -0x4(%ebp),%edx
42cf2a:	0f b6 52 20          	movzbl 0x20(%edx),%edx
42cf2e:	8b ca                	mov    %edx,%ecx
42cf30:	99                   	cltd
42cf31:	f7 f9                	idiv   %ecx
42cf33:	8d 4d e0             	lea    -0x20(%ebp),%ecx
42cf36:	5a                   	pop    %edx
42cf37:	e8 f4 59 fe ff       	call   0x412930
42cf3c:	eb 0c                	jmp    0x42cf4a
42cf3e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
42cf41:	33 d2                	xor    %edx,%edx
42cf43:	33 c0                	xor    %eax,%eax
42cf45:	e8 e6 59 fe ff       	call   0x412930
42cf4a:	8b 45 20             	mov    0x20(%ebp),%eax
42cf4d:	e8 2a 73 fd ff       	call   0x40427c
42cf52:	85 c0                	test   %eax,%eax
42cf54:	7e 5e                	jle    0x42cfb4
42cf56:	6a 00                	push   $0x0
42cf58:	8d 45 c0             	lea    -0x40(%ebp),%eax
42cf5b:	50                   	push   %eax
42cf5c:	8b 4b 08             	mov    0x8(%ebx),%ecx
42cf5f:	2b 0b                	sub    (%ebx),%ecx
42cf61:	33 d2                	xor    %edx,%edx
42cf63:	33 c0                	xor    %eax,%eax
42cf65:	e8 ee 59 fe ff       	call   0x412958
42cf6a:	56                   	push   %esi
42cf6b:	57                   	push   %edi
42cf6c:	8d 75 c0             	lea    -0x40(%ebp),%esi
42cf6f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cf70:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cf71:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cf72:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cf73:	5f                   	pop    %edi
42cf74:	5e                   	pop    %esi
42cf75:	8b 45 08             	mov    0x8(%ebp),%eax
42cf78:	0d 00 04 00 00       	or     $0x400,%eax
42cf7d:	50                   	push   %eax
42cf7e:	57                   	push   %edi
42cf7f:	8b 45 20             	mov    0x20(%ebp),%eax
42cf82:	e8 f5 72 fd ff       	call   0x40427c
42cf87:	50                   	push   %eax
42cf88:	8b 45 20             	mov    0x20(%ebp),%eax
42cf8b:	e8 ec 74 fd ff       	call   0x40447c
42cf90:	50                   	push   %eax
42cf91:	8b 45 f8             	mov    -0x8(%ebp),%eax
42cf94:	e8 93 0a ff ff       	call   0x41da2c
42cf99:	50                   	push   %eax
42cf9a:	e8 69 95 fd ff       	call   0x406508
42cf9f:	8b 57 0c             	mov    0xc(%edi),%edx
42cfa2:	2b 57 04             	sub    0x4(%edi),%edx
42cfa5:	8b 47 08             	mov    0x8(%edi),%eax
42cfa8:	2b 07                	sub    (%edi),%eax
42cfaa:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42cfad:	e8 7e 59 fe ff       	call   0x412930
42cfb2:	eb 28                	jmp    0x42cfdc
42cfb4:	6a 00                	push   $0x0
42cfb6:	8d 45 c0             	lea    -0x40(%ebp),%eax
42cfb9:	50                   	push   %eax
42cfba:	33 c9                	xor    %ecx,%ecx
42cfbc:	33 d2                	xor    %edx,%edx
42cfbe:	33 c0                	xor    %eax,%eax
42cfc0:	e8 93 59 fe ff       	call   0x412958
42cfc5:	56                   	push   %esi
42cfc6:	57                   	push   %edi
42cfc7:	8d 75 c0             	lea    -0x40(%ebp),%esi
42cfca:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cfcb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cfcc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cfcd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42cfce:	5f                   	pop    %edi
42cfcf:	5e                   	pop    %esi
42cfd0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42cfd3:	33 d2                	xor    %edx,%edx
42cfd5:	33 c0                	xor    %eax,%eax
42cfd7:	e8 54 59 fe ff       	call   0x412930
42cfdc:	8a 45 1c             	mov    0x1c(%ebp),%al
42cfdf:	2c 02                	sub    $0x2,%al