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
42cfe1:	73 23                	jae    0x42d006
42cfe3:	8b 45 ec             	mov    -0x14(%ebp),%eax
42cfe6:	8b d0                	mov    %eax,%edx
42cfe8:	2b 55 e4             	sub    -0x1c(%ebp),%edx
42cfeb:	42                   	inc    %edx
42cfec:	d1 fa                	sar    $1,%edx
42cfee:	79 03                	jns    0x42cff3
42cff0:	83 d2 00             	adc    $0x0,%edx
42cff3:	89 56 04             	mov    %edx,0x4(%esi)
42cff6:	2b 45 dc             	sub    -0x24(%ebp),%eax
42cff9:	40                   	inc    %eax
42cffa:	d1 f8                	sar    $1,%eax
42cffc:	79 03                	jns    0x42d001
42cffe:	83 d0 00             	adc    $0x0,%eax
42d001:	89 45 f4             	mov    %eax,-0xc(%ebp)
42d004:	eb 20                	jmp    0x42d026
42d006:	8b 45 e8             	mov    -0x18(%ebp),%eax
42d009:	8b d0                	mov    %eax,%edx
42d00b:	2b 55 e0             	sub    -0x20(%ebp),%edx
42d00e:	42                   	inc    %edx
42d00f:	d1 fa                	sar    $1,%edx
42d011:	79 03                	jns    0x42d016
42d013:	83 d2 00             	adc    $0x0,%edx
42d016:	89 16                	mov    %edx,(%esi)
42d018:	2b 45 d8             	sub    -0x28(%ebp),%eax
42d01b:	40                   	inc    %eax
42d01c:	d1 f8                	sar    $1,%eax
42d01e:	79 03                	jns    0x42d023
42d020:	83 d0 00             	adc    $0x0,%eax
42d023:	89 45 f0             	mov    %eax,-0x10(%ebp)
42d026:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
42d02a:	74 06                	je     0x42d032
42d02c:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
42d030:	75 05                	jne    0x42d037
42d032:	33 c0                	xor    %eax,%eax
42d034:	89 45 14             	mov    %eax,0x14(%ebp)
42d037:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
42d03b:	0f 85 97 00 00 00    	jne    0x42d0d8
42d041:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
42d045:	75 4a                	jne    0x42d091
42d047:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42d04a:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42d04d:	03 55 dc             	add    -0x24(%ebp),%edx
42d050:	8b 45 e0             	mov    -0x20(%ebp),%eax
42d053:	03 45 d8             	add    -0x28(%ebp),%eax
42d056:	e8 d5 58 fe ff       	call   0x412930
42d05b:	8a 45 1c             	mov    0x1c(%ebp),%al
42d05e:	2c 02                	sub    $0x2,%al
42d060:	73 13                	jae    0x42d075
42d062:	8b 45 e8             	mov    -0x18(%ebp),%eax
42d065:	2b 45 d0             	sub    -0x30(%ebp),%eax
42d068:	b9 03 00 00 00       	mov    $0x3,%ecx
42d06d:	99                   	cltd
42d06e:	f7 f9                	idiv   %ecx
42d070:	89 45 18             	mov    %eax,0x18(%ebp)
42d073:	eb 11                	jmp    0x42d086
42d075:	8b 45 ec             	mov    -0x14(%ebp),%eax
42d078:	2b 45 d4             	sub    -0x2c(%ebp),%eax
42d07b:	b9 03 00 00 00       	mov    $0x3,%ecx
42d080:	99                   	cltd
42d081:	f7 f9                	idiv   %ecx
42d083:	89 45 18             	mov    %eax,0x18(%ebp)
42d086:	8b 45 18             	mov    0x18(%ebp),%eax
42d089:	89 45 14             	mov    %eax,0x14(%ebp)
42d08c:	e9 96 00 00 00       	jmp    0x42d127
42d091:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42d094:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42d097:	03 55 14             	add    0x14(%ebp),%edx
42d09a:	03 55 dc             	add    -0x24(%ebp),%edx
42d09d:	8b 45 e0             	mov    -0x20(%ebp),%eax
42d0a0:	03 45 14             	add    0x14(%ebp),%eax
42d0a3:	03 45 d8             	add    -0x28(%ebp),%eax
42d0a6:	e8 85 58 fe ff       	call   0x412930
42d0ab:	8a 45 1c             	mov    0x1c(%ebp),%al
42d0ae:	2c 02                	sub    $0x2,%al
42d0b0:	73 13                	jae    0x42d0c5
42d0b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
42d0b5:	2b 45 d0             	sub    -0x30(%ebp),%eax
42d0b8:	40                   	inc    %eax
42d0b9:	d1 f8                	sar    $1,%eax
42d0bb:	79 03                	jns    0x42d0c0
42d0bd:	83 d0 00             	adc    $0x0,%eax
42d0c0:	89 45 18             	mov    %eax,0x18(%ebp)
42d0c3:	eb 62                	jmp    0x42d127
42d0c5:	8b 45 ec             	mov    -0x14(%ebp),%eax
42d0c8:	2b 45 d4             	sub    -0x2c(%ebp),%eax
42d0cb:	40                   	inc    %eax
42d0cc:	d1 f8                	sar    $1,%eax
42d0ce:	79 03                	jns    0x42d0d3
42d0d0:	83 d0 00             	adc    $0x0,%eax
42d0d3:	89 45 18             	mov    %eax,0x18(%ebp)
42d0d6:	eb 4f                	jmp    0x42d127
42d0d8:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
42d0dc:	75 49                	jne    0x42d127
42d0de:	8b 45 18             	mov    0x18(%ebp),%eax
42d0e1:	03 45 e4             	add    -0x1c(%ebp),%eax
42d0e4:	8b 55 ec             	mov    -0x14(%ebp),%edx
42d0e7:	2b d0                	sub    %eax,%edx
42d0e9:	8b 45 18             	mov    0x18(%ebp),%eax
42d0ec:	03 45 e0             	add    -0x20(%ebp),%eax
42d0ef:	50                   	push   %eax
42d0f0:	8b 45 e8             	mov    -0x18(%ebp),%eax
42d0f3:	59                   	pop    %ecx
42d0f4:	2b c1                	sub    %ecx,%eax
42d0f6:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42d0f9:	e8 32 58 fe ff       	call   0x412930
42d0fe:	8a 45 1c             	mov    0x1c(%ebp),%al
42d101:	2c 02                	sub    $0x2,%al
42d103:	73 12                	jae    0x42d117
42d105:	8b 45 d0             	mov    -0x30(%ebp),%eax
42d108:	2b 45 d8             	sub    -0x28(%ebp),%eax
42d10b:	d1 f8                	sar    $1,%eax
42d10d:	79 03                	jns    0x42d112
42d10f:	83 d0 00             	adc    $0x0,%eax
42d112:	89 45 14             	mov    %eax,0x14(%ebp)
42d115:	eb 10                	jmp    0x42d127
42d117:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42d11a:	2b 45 dc             	sub    -0x24(%ebp),%eax
42d11d:	d1 f8                	sar    $1,%eax
42d11f:	79 03                	jns    0x42d124
42d121:	83 d0 00             	adc    $0x0,%eax
42d124:	89 45 14             	mov    %eax,0x14(%ebp)
42d127:	8a 45 1c             	mov    0x1c(%ebp),%al
42d12a:	2c 01                	sub    $0x1,%al
42d12c:	72 0c                	jb     0x42d13a
42d12e:	74 1a                	je     0x42d14a
42d130:	fe c8                	dec    %al
42d132:	74 2c                	je     0x42d160
42d134:	fe c8                	dec    %al
42d136:	74 39                	je     0x42d171
42d138:	eb 4c                	jmp    0x42d186
42d13a:	8b 45 18             	mov    0x18(%ebp),%eax
42d13d:	89 06                	mov    %eax,(%esi)
42d13f:	03 45 e0             	add    -0x20(%ebp),%eax
42d142:	03 45 14             	add    0x14(%ebp),%eax
42d145:	89 45 f0             	mov    %eax,-0x10(%ebp)
42d148:	eb 3c                	jmp    0x42d186
42d14a:	8b 45 e8             	mov    -0x18(%ebp),%eax
42d14d:	2b 45 18             	sub    0x18(%ebp),%eax
42d150:	2b 45 e0             	sub    -0x20(%ebp),%eax
42d153:	89 06                	mov    %eax,(%esi)
42d155:	2b 45 14             	sub    0x14(%ebp),%eax
42d158:	2b 45 d8             	sub    -0x28(%ebp),%eax
42d15b:	89 45 f0             	mov    %eax,-0x10(%ebp)
42d15e:	eb 26                	jmp    0x42d186
42d160:	8b 45 18             	mov    0x18(%ebp),%eax
42d163:	89 46 04             	mov    %eax,0x4(%esi)
42d166:	03 45 e4             	add    -0x1c(%ebp),%eax
42d169:	03 45 14             	add    0x14(%ebp),%eax
42d16c:	89 45 f4             	mov    %eax,-0xc(%ebp)
42d16f:	eb 15                	jmp    0x42d186
42d171:	8b 45 ec             	mov    -0x14(%ebp),%eax
42d174:	2b 45 18             	sub    0x18(%ebp),%eax
42d177:	2b 45 e4             	sub    -0x1c(%ebp),%eax
42d17a:	89 46 04             	mov    %eax,0x4(%esi)
42d17d:	2b 45 14             	sub    0x14(%ebp),%eax
42d180:	2b 45 dc             	sub    -0x24(%ebp),%eax
42d183:	89 45 f4             	mov    %eax,-0xc(%ebp)
42d186:	8b 03                	mov    (%ebx),%eax
42d188:	8b 55 24             	mov    0x24(%ebp),%edx
42d18b:	03 02                	add    (%edx),%eax
42d18d:	01 06                	add    %eax,(%esi)
42d18f:	8b 43 04             	mov    0x4(%ebx),%eax
42d192:	8b 55 24             	mov    0x24(%ebp),%edx
42d195:	03 42 04             	add    0x4(%edx),%eax
42d198:	01 46 04             	add    %eax,0x4(%esi)
42d19b:	e8 80 40 00 00       	call   0x431220
42d1a0:	e8 5b 41 00 00       	call   0x431300
42d1a5:	84 c0                	test   %al,%al
42d1a7:	74 15                	je     0x42d1be
42d1a9:	8b 43 04             	mov    0x4(%ebx),%eax
42d1ac:	03 45 f4             	add    -0xc(%ebp),%eax
42d1af:	50                   	push   %eax
42d1b0:	8b 03                	mov    (%ebx),%eax
42d1b2:	03 45 f0             	add    -0x10(%ebp),%eax