42e811:	50                   	push   %eax
42e812:	8b c6                	mov    %esi,%eax
42e814:	e8 3f 5c fd ff       	call   0x404458
42e819:	50                   	push   %eax
42e81a:	8b c3                	mov    %ebx,%eax
42e81c:	e8 bb f9 fe ff       	call   0x41e1dc
42e821:	50                   	push   %eax
42e822:	e8 d5 7c fd ff       	call   0x4064fc
42e827:	6a ff                	push   $0xffffffff
42e829:	6a ff                	push   $0xffffffff
42e82b:	8d 45 f0             	lea    -0x10(%ebp),%eax
42e82e:	50                   	push   %eax
42e82f:	e8 68 7f fd ff       	call   0x40679c
42e834:	ba 10 00 00 ff       	mov    $0xff000010,%edx
42e839:	8b 43 0c             	mov    0xc(%ebx),%eax
42e83c:	e8 87 ea fe ff       	call   0x41d2c8
42e841:	83 cf 05             	or     $0x5,%edi
42e844:	57                   	push   %edi
42e845:	8d 45 f0             	lea    -0x10(%ebp),%eax
42e848:	50                   	push   %eax
42e849:	8b c6                	mov    %esi,%eax
42e84b:	e8 08 5a fd ff       	call   0x404258
42e850:	50                   	push   %eax
42e851:	8b c6                	mov    %esi,%eax
42e853:	e8 00 5c fd ff       	call   0x404458
42e858:	50                   	push   %eax
42e859:	8b c3                	mov    %ebx,%eax
42e85b:	e8 7c f9 fe ff       	call   0x41e1dc
42e860:	50                   	push   %eax
42e861:	e8 96 7c fd ff       	call   0x4064fc
42e866:	eb 25                	jmp    0x42e88d
42e868:	83 cf 05             	or     $0x5,%edi
42e86b:	57                   	push   %edi
42e86c:	8d 45 f0             	lea    -0x10(%ebp),%eax
42e86f:	50                   	push   %eax
42e870:	8b c6                	mov    %esi,%eax
42e872:	e8 e1 59 fd ff       	call   0x404258
42e877:	50                   	push   %eax
42e878:	8b c6                	mov    %esi,%eax
42e87a:	e8 d9 5b fd ff       	call   0x404458
42e87f:	50                   	push   %eax
42e880:	8b c3                	mov    %ebx,%eax
42e882:	e8 55 f9 fe ff       	call   0x41e1dc
42e887:	50                   	push   %eax
42e888:	e8 6f 7c fd ff       	call   0x4064fc
42e88d:	5f                   	pop    %edi
42e88e:	5e                   	pop    %esi
42e88f:	5b                   	pop    %ebx
42e890:	8b e5                	mov    %ebp,%esp
42e892:	5d                   	pop    %ebp
42e893:	c2 0c 00             	ret    $0xc
42e896:	8b c0                	mov    %eax,%eax
42e898:	55                   	push   %ebp
42e899:	8b ec                	mov    %esp,%ebp
42e89b:	83 c4 c0             	add    $0xffffffc0,%esp
42e89e:	53                   	push   %ebx
42e89f:	56                   	push   %esi
42e8a0:	57                   	push   %edi
42e8a1:	8b d9                	mov    %ecx,%ebx
42e8a3:	89 55 f8             	mov    %edx,-0x8(%ebp)
42e8a6:	89 45 fc             	mov    %eax,-0x4(%ebp)
42e8a9:	8b 7d 0c             	mov    0xc(%ebp),%edi
42e8ac:	8b 75 10             	mov    0x10(%ebp),%esi
42e8af:	8b 45 08             	mov    0x8(%ebp),%eax
42e8b2:	83 e0 02             	and    $0x2,%eax
42e8b5:	83 f8 02             	cmp    $0x2,%eax
42e8b8:	75 16                	jne    0x42e8d0
42e8ba:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
42e8be:	75 06                	jne    0x42e8c6
42e8c0:	c6 45 1c 01          	movb   $0x1,0x1c(%ebp)
42e8c4:	eb 0a                	jmp    0x42e8d0
42e8c6:	80 7d 1c 01          	cmpb   $0x1,0x1c(%ebp)
42e8ca:	75 04                	jne    0x42e8d0
42e8cc:	c6 45 1c 00          	movb   $0x0,0x1c(%ebp)
42e8d0:	8b 53 0c             	mov    0xc(%ebx),%edx
42e8d3:	2b 53 04             	sub    0x4(%ebx),%edx
42e8d6:	8b 43 08             	mov    0x8(%ebx),%eax
42e8d9:	2b 03                	sub    (%ebx),%eax
42e8db:	8d 4d e8             	lea    -0x18(%ebp),%ecx
42e8de:	e8 3d 40 fe ff       	call   0x412920
42e8e3:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e8e6:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
42e8ea:	74 2e                	je     0x42e91a
42e8ec:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e8ef:	8b 40 04             	mov    0x4(%eax),%eax
42e8f2:	8b 10                	mov    (%eax),%edx
42e8f4:	ff 52 20             	call   *0x20(%edx)
42e8f7:	50                   	push   %eax
42e8f8:	8b 45 fc             	mov    -0x4(%ebp),%eax
42e8fb:	8b 40 04             	mov    0x4(%eax),%eax
42e8fe:	8b 10                	mov    (%eax),%edx
42e900:	ff 52 2c             	call   *0x2c(%edx)
42e903:	8b 55 fc             	mov    -0x4(%ebp),%edx
42e906:	0f b6 52 20          	movzbl 0x20(%edx),%edx
42e90a:	8b ca                	mov    %edx,%ecx
42e90c:	99                   	cltd
42e90d:	f7 f9                	idiv   %ecx
42e90f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
42e912:	5a                   	pop    %edx
42e913:	e8 08 40 fe ff       	call   0x412920
42e918:	eb 0c                	jmp    0x42e926
42e91a:	8d 4d e0             	lea    -0x20(%ebp),%ecx
42e91d:	33 d2                	xor    %edx,%edx
42e91f:	33 c0                	xor    %eax,%eax
42e921:	e8 fa 3f fe ff       	call   0x412920
42e926:	8b 45 20             	mov    0x20(%ebp),%eax
42e929:	e8 2a 59 fd ff       	call   0x404258
42e92e:	85 c0                	test   %eax,%eax
42e930:	7e 5e                	jle    0x42e990
42e932:	6a 00                	push   $0x0
42e934:	8d 45 c0             	lea    -0x40(%ebp),%eax
42e937:	50                   	push   %eax
42e938:	8b 4b 08             	mov    0x8(%ebx),%ecx
42e93b:	2b 0b                	sub    (%ebx),%ecx
42e93d:	33 d2                	xor    %edx,%edx
42e93f:	33 c0                	xor    %eax,%eax
42e941:	e8 02 40 fe ff       	call   0x412948
42e946:	56                   	push   %esi
42e947:	57                   	push   %edi
42e948:	8d 75 c0             	lea    -0x40(%ebp),%esi
42e94b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e94c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e94d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e94e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e94f:	5f                   	pop    %edi
42e950:	5e                   	pop    %esi
42e951:	8b 45 08             	mov    0x8(%ebp),%eax
42e954:	0d 00 04 00 00       	or     $0x400,%eax
42e959:	50                   	push   %eax
42e95a:	57                   	push   %edi
42e95b:	8b 45 20             	mov    0x20(%ebp),%eax
42e95e:	e8 f5 58 fd ff       	call   0x404258
42e963:	50                   	push   %eax
42e964:	8b 45 20             	mov    0x20(%ebp),%eax
42e967:	e8 ec 5a fd ff       	call   0x404458
42e96c:	50                   	push   %eax
42e96d:	8b 45 f8             	mov    -0x8(%ebp),%eax
42e970:	e8 67 f8 fe ff       	call   0x41e1dc
42e975:	50                   	push   %eax
42e976:	e8 81 7b fd ff       	call   0x4064fc
42e97b:	8b 57 0c             	mov    0xc(%edi),%edx
42e97e:	2b 57 04             	sub    0x4(%edi),%edx
42e981:	8b 47 08             	mov    0x8(%edi),%eax
42e984:	2b 07                	sub    (%edi),%eax
42e986:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42e989:	e8 92 3f fe ff       	call   0x412920
42e98e:	eb 28                	jmp    0x42e9b8
42e990:	6a 00                	push   $0x0
42e992:	8d 45 c0             	lea    -0x40(%ebp),%eax
42e995:	50                   	push   %eax
42e996:	33 c9                	xor    %ecx,%ecx
42e998:	33 d2                	xor    %edx,%edx
42e99a:	33 c0                	xor    %eax,%eax
42e99c:	e8 a7 3f fe ff       	call   0x412948
42e9a1:	56                   	push   %esi
42e9a2:	57                   	push   %edi
42e9a3:	8d 75 c0             	lea    -0x40(%ebp),%esi
42e9a6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e9a7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e9a8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e9a9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
42e9aa:	5f                   	pop    %edi
42e9ab:	5e                   	pop    %esi
42e9ac:	8d 4d d8             	lea    -0x28(%ebp),%ecx
42e9af:	33 d2                	xor    %edx,%edx
42e9b1:	33 c0                	xor    %eax,%eax
42e9b3:	e8 68 3f fe ff       	call   0x412920
42e9b8:	8a 45 1c             	mov    0x1c(%ebp),%al
42e9bb:	2c 02                	sub    $0x2,%al
42e9bd:	73 23                	jae    0x42e9e2
42e9bf:	8b 45 ec             	mov    -0x14(%ebp),%eax
42e9c2:	8b d0                	mov    %eax,%edx
42e9c4:	2b 55 e4             	sub    -0x1c(%ebp),%edx
42e9c7:	42                   	inc    %edx
42e9c8:	d1 fa                	sar    $1,%edx
42e9ca:	79 03                	jns    0x42e9cf
42e9cc:	83 d2 00             	adc    $0x0,%edx
42e9cf:	89 56 04             	mov    %edx,0x4(%esi)
42e9d2:	2b 45 dc             	sub    -0x24(%ebp),%eax
42e9d5:	40                   	inc    %eax
42e9d6:	d1 f8                	sar    $1,%eax
42e9d8:	79 03                	jns    0x42e9dd
42e9da:	83 d0 00             	adc    $0x0,%eax
42e9dd:	89 45 f4             	mov    %eax,-0xc(%ebp)
42e9e0:	eb 20                	jmp    0x42ea02
42e9e2:	8b 45 e8             	mov    -0x18(%ebp),%eax
42e9e5:	8b d0                	mov    %eax,%edx
42e9e7:	2b 55 e0             	sub    -0x20(%ebp),%edx
42e9ea:	42                   	inc    %edx
42e9eb:	d1 fa                	sar    $1,%edx
42e9ed:	79 03                	jns    0x42e9f2
42e9ef:	83 d2 00             	adc    $0x0,%edx
42e9f2:	89 16                	mov    %edx,(%esi)
42e9f4:	2b 45 d8             	sub    -0x28(%ebp),%eax
42e9f7:	40                   	inc    %eax
42e9f8:	d1 f8                	sar    $1,%eax
42e9fa:	79 03                	jns    0x42e9ff
42e9fc:	83 d0 00             	adc    $0x0,%eax
42e9ff:	89 45 f0             	mov    %eax,-0x10(%ebp)
42ea02:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
42ea06:	74 06                	je     0x42ea0e
42ea08:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
42ea0c:	75 05                	jne    0x42ea13
42ea0e:	33 c0                	xor    %eax,%eax
42ea10:	89 45 14             	mov    %eax,0x14(%ebp)
42ea13:	83 7d 18 ff          	cmpl   $0xffffffff,0x18(%ebp)
42ea17:	0f 85 97 00 00 00    	jne    0x42eab4
42ea1d:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
42ea21:	75 4a                	jne    0x42ea6d
42ea23:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42ea26:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42ea29:	03 55 dc             	add    -0x24(%ebp),%edx
42ea2c:	8b 45 e0             	mov    -0x20(%ebp),%eax
42ea2f:	03 45 d8             	add    -0x28(%ebp),%eax
42ea32:	e8 e9 3e fe ff       	call   0x412920
42ea37:	8a 45 1c             	mov    0x1c(%ebp),%al
42ea3a:	2c 02                	sub    $0x2,%al
42ea3c:	73 13                	jae    0x42ea51
42ea3e:	8b 45 e8             	mov    -0x18(%ebp),%eax
42ea41:	2b 45 d0             	sub    -0x30(%ebp),%eax
42ea44:	b9 03 00 00 00       	mov    $0x3,%ecx
42ea49:	99                   	cltd
42ea4a:	f7 f9                	idiv   %ecx
42ea4c:	89 45 18             	mov    %eax,0x18(%ebp)
42ea4f:	eb 11                	jmp    0x42ea62
42ea51:	8b 45 ec             	mov    -0x14(%ebp),%eax
42ea54:	2b 45 d4             	sub    -0x2c(%ebp),%eax
42ea57:	b9 03 00 00 00       	mov    $0x3,%ecx
42ea5c:	99                   	cltd
42ea5d:	f7 f9                	idiv   %ecx
42ea5f:	89 45 18             	mov    %eax,0x18(%ebp)
42ea62:	8b 45 18             	mov    0x18(%ebp),%eax
42ea65:	89 45 14             	mov    %eax,0x14(%ebp)
42ea68:	e9 96 00 00 00       	jmp    0x42eb03
42ea6d:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42ea70:	8b 55 e4             	mov    -0x1c(%ebp),%edx
42ea73:	03 55 14             	add    0x14(%ebp),%edx
42ea76:	03 55 dc             	add    -0x24(%ebp),%edx
42ea79:	8b 45 e0             	mov    -0x20(%ebp),%eax
42ea7c:	03 45 14             	add    0x14(%ebp),%eax
42ea7f:	03 45 d8             	add    -0x28(%ebp),%eax
42ea82:	e8 99 3e fe ff       	call   0x412920
42ea87:	8a 45 1c             	mov    0x1c(%ebp),%al
42ea8a:	2c 02                	sub    $0x2,%al
42ea8c:	73 13                	jae    0x42eaa1
42ea8e:	8b 45 e8             	mov    -0x18(%ebp),%eax
42ea91:	2b 45 d0             	sub    -0x30(%ebp),%eax
42ea94:	40                   	inc    %eax
42ea95:	d1 f8                	sar    $1,%eax
42ea97:	79 03                	jns    0x42ea9c
42ea99:	83 d0 00             	adc    $0x0,%eax
42ea9c:	89 45 18             	mov    %eax,0x18(%ebp)
42ea9f:	eb 62                	jmp    0x42eb03
42eaa1:	8b 45 ec             	mov    -0x14(%ebp),%eax
42eaa4:	2b 45 d4             	sub    -0x2c(%ebp),%eax
42eaa7:	40                   	inc    %eax
42eaa8:	d1 f8                	sar    $1,%eax
42eaaa:	79 03                	jns    0x42eaaf
42eaac:	83 d0 00             	adc    $0x0,%eax
42eaaf:	89 45 18             	mov    %eax,0x18(%ebp)
42eab2:	eb 4f                	jmp    0x42eb03
42eab4:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
42eab8:	75 49                	jne    0x42eb03
42eaba:	8b 45 18             	mov    0x18(%ebp),%eax
42eabd:	03 45 e4             	add    -0x1c(%ebp),%eax
42eac0:	8b 55 ec             	mov    -0x14(%ebp),%edx
42eac3:	2b d0                	sub    %eax,%edx
42eac5:	8b 45 18             	mov    0x18(%ebp),%eax
42eac8:	03 45 e0             	add    -0x20(%ebp),%eax
42eacb:	50                   	push   %eax
42eacc:	8b 45 e8             	mov    -0x18(%ebp),%eax
42eacf:	59                   	pop    %ecx
42ead0:	2b c1                	sub    %ecx,%eax
42ead2:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42ead5:	e8 46 3e fe ff       	call   0x412920
42eada:	8a 45 1c             	mov    0x1c(%ebp),%al
42eadd:	2c 02                	sub    $0x2,%al
42eadf:	73 12                	jae    0x42eaf3
42eae1:	8b 45 d0             	mov    -0x30(%ebp),%eax
42eae4:	2b 45 d8             	sub    -0x28(%ebp),%eax
42eae7:	d1 f8                	sar    $1,%eax
42eae9:	79 03                	jns    0x42eaee
42eaeb:	83 d0 00             	adc    $0x0,%eax
42eaee:	89 45 14             	mov    %eax,0x14(%ebp)
42eaf1:	eb 10                	jmp    0x42eb03
42eaf3:	8b 45 d4             	mov    -0x2c(%ebp),%eax
42eaf6:	2b 45 dc             	sub    -0x24(%ebp),%eax
42eaf9:	d1 f8                	sar    $1,%eax
42eafb:	79 03                	jns    0x42eb00
42eafd:	83 d0 00             	adc    $0x0,%eax
42eb00:	89 45 14             	mov    %eax,0x14(%ebp)
42eb03:	8a 45 1c             	mov    0x1c(%ebp),%al
42eb06:	2c 01                	sub    $0x1,%al
42eb08:	72 0c                	jb     0x42eb16
42eb0a:	74 1a                	je     0x42eb26
42eb0c:	fe c8                	dec    %al
42eb0e:	74 2c                	je     0x42eb3c
42eb10:	fe c8                	dec    %al
42eb12:	74 39                	je     0x42eb4d
42eb14:	eb 4c                	jmp    0x42eb62
42eb16:	8b 45 18             	mov    0x18(%ebp),%eax
42eb19:	89 06                	mov    %eax,(%esi)
42eb1b:	03 45 e0             	add    -0x20(%ebp),%eax
42eb1e:	03 45 14             	add    0x14(%ebp),%eax
42eb21:	89 45 f0             	mov    %eax,-0x10(%ebp)
42eb24:	eb 3c                	jmp    0x42eb62
42eb26:	8b 45 e8             	mov    -0x18(%ebp),%eax
42eb29:	2b 45 18             	sub    0x18(%ebp),%eax
42eb2c:	2b 45 e0             	sub    -0x20(%ebp),%eax
42eb2f:	89 06                	mov    %eax,(%esi)
42eb31:	2b 45 14             	sub    0x14(%ebp),%eax
42eb34:	2b 45 d8             	sub    -0x28(%ebp),%eax
42eb37:	89 45 f0             	mov    %eax,-0x10(%ebp)
42eb3a:	eb 26                	jmp    0x42eb62
42eb3c:	8b 45 18             	mov    0x18(%ebp),%eax
42eb3f:	89 46 04             	mov    %eax,0x4(%esi)
42eb42:	03 45 e4             	add    -0x1c(%ebp),%eax
42eb45:	03 45 14             	add    0x14(%ebp),%eax
42eb48:	89 45 f4             	mov    %eax,-0xc(%ebp)
42eb4b:	eb 15                	jmp    0x42eb62
42eb4d:	8b 45 ec             	mov    -0x14(%ebp),%eax
42eb50:	2b 45 18             	sub    0x18(%ebp),%eax
42eb53:	2b 45 e4             	sub    -0x1c(%ebp),%eax
42eb56:	89 46 04             	mov    %eax,0x4(%esi)
42eb59:	2b 45 14             	sub    0x14(%ebp),%eax
42eb5c:	2b 45 dc             	sub    -0x24(%ebp),%eax
42eb5f:	89 45 f4             	mov    %eax,-0xc(%ebp)
42eb62:	8b 03                	mov    (%ebx),%eax
42eb64:	8b 55 24             	mov    0x24(%ebp),%edx
42eb67:	03 02                	add    (%edx),%eax
42eb69:	01 06                	add    %eax,(%esi)
42eb6b:	8b 43 04             	mov    0x4(%ebx),%eax
42eb6e:	8b 55 24             	mov    0x24(%ebp),%edx
42eb71:	03 42 04             	add    0x4(%edx),%eax
42eb74:	01 46 04             	add    %eax,0x4(%esi)
42eb77:	e8 f4 53 00 00       	call   0x433f70
42eb7c:	e8 cf 54 00 00       	call   0x434050
42eb81:	84 c0                	test   %al,%al
42eb83:	74 15                	je     0x42eb9a
42eb85:	8b 43 04             	mov    0x4(%ebx),%eax
42eb88:	03 45 f4             	add    -0xc(%ebp),%eax
42eb8b:	50                   	push   %eax
42eb8c:	8b 03                	mov    (%ebx),%eax
42eb8e:	03 45 f0             	add    -0x10(%ebp),%eax
42eb91:	50                   	push   %eax
42eb92:	57                   	push   %edi
42eb93:	e8 04 7c fd ff       	call   0x40679c
42eb98:	eb 1e                	jmp    0x42ebb8
42eb9a:	8b 43 04             	mov    0x4(%ebx),%eax
42eb9d:	03 45 f4             	add    -0xc(%ebp),%eax