42d877:	0f b7 c0             	movzwl %ax,%eax
42d87a:	03 06                	add    (%esi),%eax
42d87c:	56                   	push   %esi
42d87d:	03 c6                	add    %esi,%eax
42d87f:	50                   	push   %eax
42d880:	0f b7 45 a4          	movzwl -0x5c(%ebp),%eax
42d884:	50                   	push   %eax
42d885:	6a 00                	push   $0x0
42d887:	ff 75 e8             	push   -0x18(%ebp)
42d88a:	53                   	push   %ebx
42d88b:	ff 15 e8 70 4a 00    	call   *0x4a70e8
42d891:	85 c0                	test   %eax,%eax
42d893:	75 39                	jne    0x42d8ce
42d895:	56                   	push   %esi
42d896:	ff 15 5c 72 4a 00    	call   *0x4a725c
42d89c:	8b 45 ec             	mov    -0x14(%ebp),%eax
42d89f:	85 c0                	test   %eax,%eax
42d8a1:	74 08                	je     0x42d8ab
42d8a3:	50                   	push   %eax
42d8a4:	53                   	push   %ebx
42d8a5:	ff 15 68 71 4a 00    	call   *0x4a7168
42d8ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
42d8ae:	85 c0                	test   %eax,%eax
42d8b0:	74 0a                	je     0x42d8bc
42d8b2:	6a 00                	push   $0x0
42d8b4:	50                   	push   %eax
42d8b5:	53                   	push   %ebx
42d8b6:	ff 15 6c 71 4a 00    	call   *0x4a716c
42d8bc:	ff 75 e4             	push   -0x1c(%ebp)
42d8bf:	ff 15 60 71 4a 00    	call   *0x4a7160
42d8c5:	53                   	push   %ebx
42d8c6:	ff 15 80 71 4a 00    	call   *0x4a7180
42d8cc:	eb 5e                	jmp    0x42d92c
42d8ce:	8b 45 ec             	mov    -0x14(%ebp),%eax
42d8d1:	89 7e 14             	mov    %edi,0x14(%esi)
42d8d4:	85 c0                	test   %eax,%eax
42d8d6:	74 08                	je     0x42d8e0
42d8d8:	50                   	push   %eax
42d8d9:	53                   	push   %ebx
42d8da:	ff 15 68 71 4a 00    	call   *0x4a7168
42d8e0:	8b 45 fc             	mov    -0x4(%ebp),%eax
42d8e3:	85 c0                	test   %eax,%eax
42d8e5:	74 0a                	je     0x42d8f1
42d8e7:	6a 00                	push   $0x0
42d8e9:	50                   	push   %eax
42d8ea:	53                   	push   %ebx
42d8eb:	ff 15 6c 71 4a 00    	call   *0x4a716c
42d8f1:	ff 75 e4             	push   -0x1c(%ebp)
42d8f4:	ff 15 60 71 4a 00    	call   *0x4a7160
42d8fa:	53                   	push   %ebx
42d8fb:	ff 15 80 71 4a 00    	call   *0x4a7180
42d901:	8b c6                	mov    %esi,%eax
42d903:	eb 29                	jmp    0x42d92e
42d905:	ff 15 60 71 4a 00    	call   *0x4a7160
42d90b:	85 db                	test   %ebx,%ebx
42d90d:	74 07                	je     0x42d916
42d90f:	53                   	push   %ebx
42d910:	ff 15 60 71 4a 00    	call   *0x4a7160
42d916:	8b 7d f8             	mov    -0x8(%ebp),%edi
42d919:	57                   	push   %edi
42d91a:	ff 15 5c 72 4a 00    	call   *0x4a725c
42d920:	6a 01                	push   $0x1
42d922:	b9 e0 55 4a 00       	mov    $0x4a55e0,%ecx
42d927:	e8 7b 03 02 00       	call   0x44dca7
42d92c:	33 c0                	xor    %eax,%eax
42d92e:	5f                   	pop    %edi
42d92f:	5e                   	pop    %esi
42d930:	5b                   	pop    %ebx
42d931:	c9                   	leave
42d932:	c2 18 00             	ret    $0x18
42d935:	83 39 28             	cmpl   $0x28,(%ecx)
42d938:	72 11                	jb     0x42d94b
42d93a:	85 d2                	test   %edx,%edx
42d93c:	74 07                	je     0x42d945
42d93e:	8b 41 20             	mov    0x20(%ecx),%eax
42d941:	85 c0                	test   %eax,%eax
42d943:	75 2c                	jne    0x42d971
42d945:	0f b7 41 0e          	movzwl 0xe(%ecx),%eax
42d949:	eb 04                	jmp    0x42d94f
42d94b:	0f b7 41 0a          	movzwl 0xa(%ecx),%eax
42d94f:	0f b7 c0             	movzwl %ax,%eax
42d952:	83 e8 01             	sub    $0x1,%eax
42d955:	74 17                	je     0x42d96e
42d957:	83 e8 03             	sub    $0x3,%eax
42d95a:	74 0e                	je     0x42d96a
42d95c:	83 e8 04             	sub    $0x4,%eax
42d95f:	74 03                	je     0x42d964
42d961:	33 c0                	xor    %eax,%eax
42d963:	c3                   	ret
42d964:	b8 00 01 00 00       	mov    $0x100,%eax
42d969:	c3                   	ret
42d96a:	6a 10                	push   $0x10
42d96c:	58                   	pop    %eax
42d96d:	c3                   	ret
42d96e:	6a 02                	push   $0x2
42d970:	58                   	pop    %eax
42d971:	c3                   	ret
42d972:	83 39 28             	cmpl   $0x28,(%ecx)
42d975:	72 12                	jb     0x42d989
42d977:	83 79 10 03          	cmpl   $0x3,0x10(%ecx)
42d97b:	75 0c                	jne    0x42d989
42d97d:	83 39 6c             	cmpl   $0x6c,(%ecx)
42d980:	72 03                	jb     0x42d985
42d982:	33 c0                	xor    %eax,%eax
42d984:	c3                   	ret
42d985:	6a 0c                	push   $0xc
42d987:	58                   	pop    %eax
42d988:	c3                   	ret
42d989:	33 d2                	xor    %edx,%edx
42d98b:	42                   	inc    %edx
42d98c:	e8 a4 ff ff ff       	call   0x42d935
42d991:	83 39 28             	cmpl   $0x28,(%ecx)
42d994:	0f b7 c0             	movzwl %ax,%eax
42d997:	1b c9                	sbb    %ecx,%ecx
42d999:	83 c1 04             	add    $0x4,%ecx
42d99c:	0f b7 c9             	movzwl %cx,%ecx
42d99f:	0f af c1             	imul   %ecx,%eax
42d9a2:	c3                   	ret
42d9a3:	8b ff                	mov    %edi,%edi
42d9a5:	56                   	push   %esi
42d9a6:	57                   	push   %edi
42d9a7:	8b f2                	mov    %edx,%esi
42d9a9:	8b f9                	mov    %ecx,%edi
42d9ab:	e8 c2 ff ff ff       	call   0x42d972
42d9b0:	0f b7 c0             	movzwl %ax,%eax
42d9b3:	03 07                	add    (%edi),%eax
42d9b5:	3b f0                	cmp    %eax,%esi
42d9b7:	77 02                	ja     0x42d9bb
42d9b9:	8b f0                	mov    %eax,%esi
42d9bb:	8d 04 3e             	lea    (%esi,%edi,1),%eax
42d9be:	5f                   	pop    %edi
42d9bf:	5e                   	pop    %esi
42d9c0:	c3                   	ret
42d9c1:	83 39 28             	cmpl   $0x28,(%ecx)
42d9c4:	72 09                	jb     0x42d9cf
42d9c6:	8b 41 04             	mov    0x4(%ecx),%eax
42d9c9:	99                   	cltd
42d9ca:	33 c2                	xor    %edx,%eax
42d9cc:	2b c2                	sub    %edx,%eax
42d9ce:	c3                   	ret
42d9cf:	0f b7 41 04          	movzwl 0x4(%ecx),%eax
42d9d3:	c3                   	ret
42d9d4:	83 39 28             	cmpl   $0x28,(%ecx)
42d9d7:	72 09                	jb     0x42d9e2
42d9d9:	8b 41 08             	mov    0x8(%ecx),%eax
42d9dc:	99                   	cltd
42d9dd:	33 c2                	xor    %edx,%eax
42d9df:	2b c2                	sub    %edx,%eax
42d9e1:	c3                   	ret
42d9e2:	0f b7 41 06          	movzwl 0x6(%ecx),%eax
42d9e6:	c3                   	ret
42d9e7:	6a 20                	push   $0x20
42d9e9:	b8 8b 25 49 00       	mov    $0x49258b,%eax
42d9ee:	e8 e0 2a 06 00       	call   0x4904d3
42d9f3:	89 55 f0             	mov    %edx,-0x10(%ebp)
42d9f6:	8b f1                	mov    %ecx,%esi
42d9f8:	85 f6                	test   %esi,%esi
42d9fa:	0f 84 f2 00 00 00    	je     0x42daf2
42da00:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42da04:	0f 84 e8 00 00 00    	je     0x42daf2
42da0a:	e8 63 ff ff ff       	call   0x42d972
42da0f:	0f b7 c0             	movzwl %ax,%eax
42da12:	33 db                	xor    %ebx,%ebx
42da14:	03 06                	add    (%esi),%eax
42da16:	33 ff                	xor    %edi,%edi
42da18:	21 5d e8             	and    %ebx,-0x18(%ebp)
42da1b:	03 c6                	add    %esi,%eax
42da1d:	89 45 ec             	mov    %eax,-0x14(%ebp)
42da20:	c7 45 e4 1c 14 40 00 	movl   $0x40141c,-0x1c(%ebp)
42da27:	21 7d fc             	and    %edi,-0x4(%ebp)
42da2a:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42da2d:	ff 15 80 75 4a 00    	call   *0x4a7580
42da33:	ff 75 08             	push   0x8(%ebp)
42da36:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42da39:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
42da3d:	ff 15 88 75 4a 00    	call   *0x4a7588
42da43:	6a 02                	push   $0x2
42da45:	6a 02                	push   $0x2
42da47:	ff 75 d8             	push   -0x28(%ebp)
42da4a:	ff 15 78 71 4a 00    	call   *0x4a7178
42da50:	50                   	push   %eax
42da51:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42da54:	ff 15 8c 75 4a 00    	call   *0x4a758c
42da5a:	85 c0                	test   %eax,%eax
42da5c:	74 0e                	je     0x42da6c
42da5e:	ff 75 e8             	push   -0x18(%ebp)
42da61:	ff 75 d8             	push   -0x28(%ebp)
42da64:	ff 15 90 75 4a 00    	call   *0x4a7590
42da6a:	8b f8                	mov    %eax,%edi
42da6c:	8b 45 f0             	mov    -0x10(%ebp),%eax
42da6f:	85 c0                	test   %eax,%eax
42da71:	74 17                	je     0x42da8a
42da73:	6a 00                	push   $0x0
42da75:	50                   	push   %eax
42da76:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42da79:	ff 15 98 75 4a 00    	call   *0x4a7598
42da7f:	ff 75 d8             	push   -0x28(%ebp)
42da82:	8b d8                	mov    %eax,%ebx
42da84:	ff 15 70 71 4a 00    	call   *0x4a7170
42da8a:	6a 00                	push   $0x0
42da8c:	56                   	push   %esi
42da8d:	ff 75 ec             	push   -0x14(%ebp)
42da90:	6a 04                	push   $0x4
42da92:	56                   	push   %esi
42da93:	ff 75 d8             	push   -0x28(%ebp)
42da96:	ff 15 e4 70 4a 00    	call   *0x4a70e4
42da9c:	8b f0                	mov    %eax,%esi
42da9e:	85 db                	test   %ebx,%ebx
42daa0:	74 0c                	je     0x42daae
42daa2:	6a 00                	push   $0x0
42daa4:	53                   	push   %ebx
42daa5:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42daa8:	ff 15 98 75 4a 00    	call   *0x4a7598
42daae:	85 ff                	test   %edi,%edi
42dab0:	74 0c                	je     0x42dabe
42dab2:	ff 77 04             	push   0x4(%edi)
42dab5:	ff 75 d8             	push   -0x28(%ebp)
42dab8:	ff 15 90 75 4a 00    	call   *0x4a7590
42dabe:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
42dac2:	74 09                	je     0x42dacd
42dac4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42dac7:	ff 15 28 75 4a 00    	call   *0x4a7528
42dacd:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42dad0:	ff 15 94 75 4a 00    	call   *0x4a7594
42dad6:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
42dad9:	ff 15 84 75 4a 00    	call   *0x4a7584
42dadf:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42dae2:	c7 45 e4 1c 14 40 00 	movl   $0x40141c,-0x1c(%ebp)
42dae9:	e8 e5 22 ff ff       	call   0x41fdd3
42daee:	8b c6                	mov    %esi,%eax
42daf0:	eb 02                	jmp    0x42daf4
42daf2:	33 c0                	xor    %eax,%eax
42daf4:	e8 a8 29 06 00       	call   0x4904a1
42daf9:	c2 04 00             	ret    $0x4
42dafc:	8b ff                	mov    %edi,%edi
42dafe:	55                   	push   %ebp
42daff:	8b ec                	mov    %esp,%ebp
42db01:	51                   	push   %ecx
42db02:	53                   	push   %ebx
42db03:	56                   	push   %esi
42db04:	57                   	push   %edi
42db05:	8b fa                	mov    %edx,%edi
42db07:	8b d9                	mov    %ecx,%ebx
42db09:	89 5d fc             	mov    %ebx,-0x4(%ebp)
42db0c:	83 3f 28             	cmpl   $0x28,(%edi)
42db0f:	72 70                	jb     0x42db81
42db11:	0f b7 77 0e          	movzwl 0xe(%edi),%esi
42db15:	0f b7 47 0c          	movzwl 0xc(%edi),%eax
42db19:	0f af f0             	imul   %eax,%esi
42db1c:	83 fe 04             	cmp    $0x4,%esi
42db1f:	75 60                	jne    0x42db81
42db21:	6a 0e                	push   $0xe
42db23:	53                   	push   %ebx
42db24:	ff 15 64 71 4a 00    	call   *0x4a7164
42db2a:	6a 0c                	push   $0xc
42db2c:	53                   	push   %ebx
42db2d:	8b f0                	mov    %eax,%esi
42db2f:	ff 15 64 71 4a 00    	call   *0x4a7164
42db35:	0f af f0             	imul   %eax,%esi
42db38:	83 fe 04             	cmp    $0x4,%esi
42db3b:	77 44                	ja     0x42db81
42db3d:	33 d2                	xor    %edx,%edx
42db3f:	8d 5f 28             	lea    0x28(%edi),%ebx
42db42:	42                   	inc    %edx
42db43:	8b cf                	mov    %edi,%ecx
42db45:	e8 eb fd ff ff       	call   0x42d935
42db4a:	0f b7 f8             	movzwl %ax,%edi
42db4d:	85 ff                	test   %edi,%edi
42db4f:	74 2b                	je     0x42db7c
42db51:	0f b6 33             	movzbl (%ebx),%esi
42db54:	0f b6 43 01          	movzbl 0x1(%ebx),%eax
42db58:	c1 e6 08             	shl    $0x8,%esi
42db5b:	0b f0                	or     %eax,%esi
42db5d:	0f b6 43 02          	movzbl 0x2(%ebx),%eax
42db61:	c1 e6 08             	shl    $0x8,%esi
42db64:	0b f0                	or     %eax,%esi
42db66:	56                   	push   %esi
42db67:	ff 75 fc             	push   -0x4(%ebp)
42db6a:	ff 15 e0 70 4a 00    	call   *0x4a70e0
42db70:	3b c6                	cmp    %esi,%eax
42db72:	75 0d                	jne    0x42db81
42db74:	4f                   	dec    %edi
42db75:	83 c3 04             	add    $0x4,%ebx
42db78:	85 ff                	test   %edi,%edi
42db7a:	7f d5                	jg     0x42db51
42db7c:	33 c0                	xor    %eax,%eax
42db7e:	40                   	inc    %eax
42db7f:	eb 02                	jmp    0x42db83
42db81:	33 c0                	xor    %eax,%eax
42db83:	5f                   	pop    %edi
42db84:	5e                   	pop    %esi
42db85:	5b                   	pop    %ebx
42db86:	c9                   	leave
42db87:	c3                   	ret
42db88:	8b ff                	mov    %edi,%edi
42db8a:	55                   	push   %ebp
42db8b:	8b ec                	mov    %esp,%ebp
42db8d:	83 ec 24             	sub    $0x24,%esp
42db90:	53                   	push   %ebx
42db91:	8b d9                	mov    %ecx,%ebx
42db93:	56                   	push   %esi
42db94:	57                   	push   %edi
42db95:	85 db                	test   %ebx,%ebx
42db97:	0f 84 4c 01 00 00    	je     0x42dce9
42db9d:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
42dba1:	0f 84 42 01 00 00    	je     0x42dce9
42dba7:	e8 f7 fd ff ff       	call   0x42d9a3
42dbac:	8b f0                	mov    %eax,%esi
42dbae:	8d 4d dc             	lea    -0x24(%ebp),%ecx
42dbb1:	33 ff                	xor    %edi,%edi
42dbb3:	89 75 f0             	mov    %esi,-0x10(%ebp)
42dbb6:	57                   	push   %edi
42dbb7:	ff 15 d8 76 4a 00    	call   *0x4a76d8
42dbbd:	8b 4d e0             	mov    -0x20(%ebp),%ecx
42dbc0:	8b d3                	mov    %ebx,%edx
42dbc2:	e8 35 ff ff ff       	call   0x42dafc
42dbc7:	85 c0                	test   %eax,%eax
42dbc9:	74 21                	je     0x42dbec
42dbcb:	57                   	push   %edi
42dbcc:	53                   	push   %ebx
42dbcd:	56                   	push   %esi
42dbce:	6a 04                	push   $0x4
42dbd0:	53                   	push   %ebx
42dbd1:	ff 75 e0             	push   -0x20(%ebp)
42dbd4:	ff 15 e4 70 4a 00    	call   *0x4a70e4
42dbda:	8d 4d dc             	lea    -0x24(%ebp),%ecx
42dbdd:	8b f0                	mov    %eax,%esi
42dbdf:	ff 15 dc 76 4a 00    	call   *0x4a76dc
42dbe5:	8b c6                	mov    %esi,%eax
42dbe7:	e9 ff 00 00 00       	jmp    0x42dceb
42dbec:	8d 4d dc             	lea    -0x24(%ebp),%ecx
42dbef:	ff 15 dc 76 4a 00    	call   *0x4a76dc
42dbf5:	83 3b 28             	cmpl   $0x28,(%ebx)
42dbf8:	8b 43 10             	mov    0x10(%ebx),%eax
42dbfb:	89 45 f4             	mov    %eax,-0xc(%ebp)
42dbfe:	72 03                	jb     0x42dc03
42dc00:	89 7b 10             	mov    %edi,0x10(%ebx)
42dc03:	6a 10                	push   $0x10
42dc05:	ff 15 08 c0 4a 00    	call   *0x4ac008
42dc0b:	8b f8                	mov    %eax,%edi
42dc0d:	85 ff                	test   %edi,%edi
42dc0f:	74 21                	je     0x42dc32
42dc11:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
42dc15:	8d 45 f8             	lea    -0x8(%ebp),%eax
42dc18:	50                   	push   %eax
42dc19:	56                   	push   %esi
42dc1a:	53                   	push   %ebx
42dc1b:	c7 07 b4 15 40 00    	movl   $0x4015b4,(%edi)
42dc21:	ff 15 20 c0 4a 00    	call   *0x4ac020
42dc27:	89 47 08             	mov    %eax,0x8(%edi)