895ded:	8b 4d 14             	mov    0x14(%ebp),%ecx
895df0:	89 4d e0             	mov    %ecx,-0x20(%ebp)
895df3:	2b 8d 3c ff ff ff    	sub    -0xc4(%ebp),%ecx
895df9:	83 c2 02             	add    $0x2,%edx
895dfc:	89 45 d0             	mov    %eax,-0x30(%ebp)
895dff:	8b 45 18             	mov    0x18(%ebp),%eax
895e02:	89 45 dc             	mov    %eax,-0x24(%ebp)
895e05:	89 45 e4             	mov    %eax,-0x1c(%ebp)
895e08:	89 75 ec             	mov    %esi,-0x14(%ebp)
895e0b:	89 55 0c             	mov    %edx,0xc(%ebp)
895e0e:	8b b5 28 ff ff ff    	mov    -0xd8(%ebp),%esi
895e14:	33 ff                	xor    %edi,%edi
895e16:	89 4d e8             	mov    %ecx,-0x18(%ebp)
895e19:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
895e1f:	56                   	push   %esi
895e20:	e8 c5 0b b9 ff       	call   0x4269ea
895e25:	21 7d fc             	and    %edi,-0x4(%ebp)
895e28:	39 7d 20             	cmp    %edi,0x20(%ebp)
895e2b:	75 15                	jne    0x895e42
895e2d:	83 fe ff             	cmp    $0xffffffff,%esi
895e30:	74 10                	je     0x895e42
895e32:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
895e38:	8b cb                	mov    %ebx,%ecx
895e3a:	50                   	push   %eax
895e3b:	e8 e6 b0 b9 ff       	call   0x430f26
895e40:	8b f8                	mov    %eax,%edi
895e42:	6a 04                	push   $0x4
895e44:	8d 45 d0             	lea    -0x30(%ebp),%eax
895e47:	50                   	push   %eax
895e48:	ff 73 04             	push   0x4(%ebx)
895e4b:	ff 15 68 32 d8 00    	call   *0xd83268
895e51:	85 ff                	test   %edi,%edi
895e53:	74 08                	je     0x895e5d
895e55:	57                   	push   %edi
895e56:	8b cb                	mov    %ebx,%ecx
895e58:	e8 c9 b0 b9 ff       	call   0x430f26
895e5d:	c7 85 08 ff ff ff dc 	movl   $0xc3a7dc,-0xf8(%ebp)
895e64:	a7 c3 00
895e67:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
895e6d:	e9 6f 0f 00 00       	jmp    0x896de1
895e72:	8b b0 90 02 00 00    	mov    0x290(%eax),%esi
895e78:	8b ce                	mov    %esi,%ecx
895e7a:	e8 e6 67 b9 ff       	call   0x42c665
895e7f:	8b cf                	mov    %edi,%ecx
895e81:	ff d6                	call   *%esi
895e83:	85 c0                	test   %eax,%eax
895e85:	0f 84 d2 04 00 00    	je     0x89635d
895e8b:	6a 0a                	push   $0xa
895e8d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895e90:	e8 ec af b9 ff       	call   0x430e81
895e95:	ff 75 10             	push   0x10(%ebp)
895e98:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895e9b:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
895ea2:	ff 75 0c             	push   0xc(%ebp)
895ea5:	e8 33 85 ba ff       	call   0x43e3dd
895eaa:	8b 4d 10             	mov    0x10(%ebp),%ecx
895ead:	83 c1 02             	add    $0x2,%ecx
895eb0:	51                   	push   %ecx
895eb1:	ff 75 0c             	push   0xc(%ebp)
895eb4:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895eb7:	50                   	push   %eax
895eb8:	e8 7f 95 b9 ff       	call   0x42f43c
895ebd:	ff 75 10             	push   0x10(%ebp)
895ec0:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895ec3:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
895ec9:	ff 75 14             	push   0x14(%ebp)
895ecc:	e8 16 41 b8 ff       	call   0x419fe7
895ed1:	8b 4d 10             	mov    0x10(%ebp),%ecx
895ed4:	83 c1 02             	add    $0x2,%ecx
895ed7:	51                   	push   %ecx
895ed8:	ff 75 14             	push   0x14(%ebp)
895edb:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895ede:	50                   	push   %eax
895edf:	e8 96 f5 b6 ff       	call   0x40547a
895ee4:	8b 4d 10             	mov    0x10(%ebp),%ecx
895ee7:	8b 55 0c             	mov    0xc(%ebp),%edx
895eea:	83 c1 02             	add    $0x2,%ecx
895eed:	8b 75 14             	mov    0x14(%ebp),%esi
895ef0:	42                   	inc    %edx
895ef1:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
895ef7:	4e                   	dec    %esi
895ef8:	8b 45 18             	mov    0x18(%ebp),%eax
895efb:	83 c0 fc             	add    $0xfffffffc,%eax
895efe:	89 55 8c             	mov    %edx,-0x74(%ebp)
895f01:	89 b5 3c ff ff ff    	mov    %esi,-0xc4(%ebp)
895f07:	89 8d 1c ff ff ff    	mov    %ecx,-0xe4(%ebp)
895f0d:	3b c8                	cmp    %eax,%ecx
895f0f:	0f 8d 86 00 00 00    	jge    0x895f9b
895f15:	8b fe                	mov    %esi,%edi
895f17:	8b da                	mov    %edx,%ebx
895f19:	51                   	push   %ecx
895f1a:	53                   	push   %ebx
895f1b:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
895f21:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895f24:	e8 13 95 b9 ff       	call   0x42f43c
895f29:	8b b5 1c ff ff ff    	mov    -0xe4(%ebp),%esi
895f2f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895f32:	83 c6 02             	add    $0x2,%esi
895f35:	56                   	push   %esi
895f36:	53                   	push   %ebx
895f37:	50                   	push   %eax
895f38:	e8 ff 94 b9 ff       	call   0x42f43c
895f3d:	ff b5 1c ff ff ff    	push   -0xe4(%ebp)
895f43:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895f46:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
895f4c:	57                   	push   %edi
895f4d:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
895f53:	e8 22 f5 b6 ff       	call   0x40547a
895f58:	56                   	push   %esi
895f59:	57                   	push   %edi
895f5a:	50                   	push   %eax
895f5b:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895f5e:	e8 17 f5 b6 ff       	call   0x40547a
895f63:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
895f69:	43                   	inc    %ebx
895f6a:	8b 45 18             	mov    0x18(%ebp),%eax
895f6d:	8b ce                	mov    %esi,%ecx
895f6f:	83 c0 fc             	add    $0xfffffffc,%eax
895f72:	89 8d 1c ff ff ff    	mov    %ecx,-0xe4(%ebp)
895f78:	4f                   	dec    %edi
895f79:	3b c8                	cmp    %eax,%ecx
895f7b:	7c 9c                	jl     0x895f19
895f7d:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
895f80:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
895f86:	8b 55 8c             	mov    -0x74(%ebp),%edx
895f89:	89 bd 3c ff ff ff    	mov    %edi,-0xc4(%ebp)
895f8f:	8b bd 2c ff ff ff    	mov    -0xd4(%ebp),%edi
895f95:	8b b5 3c ff ff ff    	mov    -0xc4(%ebp),%esi
895f9b:	83 bf 90 00 00 00 01 	cmpl   $0x1,0x90(%edi)
895fa2:	75 05                	jne    0x895fa9
895fa4:	4a                   	dec    %edx
895fa5:	46                   	inc    %esi
895fa6:	89 55 8c             	mov    %edx,-0x74(%ebp)
895fa9:	8d 42 ff             	lea    -0x1(%edx),%eax
895fac:	89 85 fc fe ff ff    	mov    %eax,-0x104(%ebp)
895fb2:	8d 46 01             	lea    0x1(%esi),%eax
895fb5:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
895fbb:	8b 45 18             	mov    0x18(%ebp),%eax
895fbe:	48                   	dec    %eax
895fbf:	3b c8                	cmp    %eax,%ecx
895fc1:	0f 8d f9 00 00 00    	jge    0x8960c0
895fc7:	8b 5d 8c             	mov    -0x74(%ebp),%ebx
895fca:	51                   	push   %ecx
895fcb:	53                   	push   %ebx
895fcc:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
895fd2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895fd5:	e8 62 94 b9 ff       	call   0x42f43c
895fda:	8b bd 1c ff ff ff    	mov    -0xe4(%ebp),%edi
895fe0:	8d 53 01             	lea    0x1(%ebx),%edx
895fe3:	47                   	inc    %edi
895fe4:	89 95 3c ff ff ff    	mov    %edx,-0xc4(%ebp)
895fea:	57                   	push   %edi
895feb:	52                   	push   %edx
895fec:	50                   	push   %eax
895fed:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
895ff0:	89 7d 8c             	mov    %edi,-0x74(%ebp)
895ff3:	e8 44 94 b9 ff       	call   0x42f43c
895ff8:	ff b5 1c ff ff ff    	push   -0xe4(%ebp)
895ffe:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
896001:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
896007:	56                   	push   %esi
896008:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
89600e:	e8 67 f4 b6 ff       	call   0x40547a
896013:	8d 4e ff             	lea    -0x1(%esi),%ecx
896016:	57                   	push   %edi
896017:	51                   	push   %ecx
896018:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
89601e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
896021:	50                   	push   %eax
896022:	e8 53 f4 b6 ff       	call   0x40547a
896027:	8b 7d 18             	mov    0x18(%ebp),%edi
89602a:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
896030:	8d 47 fe             	lea    -0x2(%edi),%eax
896033:	39 85 1c ff ff ff    	cmp    %eax,-0xe4(%ebp)
896039:	75 53                	jne    0x89608e
89603b:	8b 7d 8c             	mov    -0x74(%ebp),%edi
89603e:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
896041:	57                   	push   %edi
896042:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
896048:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
89604e:	e8 e9 93 b9 ff       	call   0x42f43c
896053:	57                   	push   %edi
896054:	8d 4b 03             	lea    0x3(%ebx),%ecx
896057:	51                   	push   %ecx
896058:	50                   	push   %eax
896059:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
89605c:	e8 db 93 b9 ff       	call   0x42f43c
896061:	57                   	push   %edi
896062:	56                   	push   %esi
896063:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
896069:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
89606c:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
896072:	e8 03 f4 b6 ff       	call   0x40547a
896077:	57                   	push   %edi
896078:	8d 4e fe             	lea    -0x2(%esi),%ecx
89607b:	51                   	push   %ecx
89607c:	50                   	push   %eax
89607d:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
896080:	e8 f5 f3 b6 ff       	call   0x40547a
896085:	8b 7d 18             	mov    0x18(%ebp),%edi
896088:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
89608e:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
896091:	8d 47 ff             	lea    -0x1(%edi),%eax
896094:	8b 9d 3c ff ff ff    	mov    -0xc4(%ebp),%ebx
89609a:	8b b5 04 ff ff ff    	mov    -0xfc(%ebp),%esi
8960a0:	89 8d 1c ff ff ff    	mov    %ecx,-0xe4(%ebp)
8960a6:	3b c8                	cmp    %eax,%ecx
8960a8:	0f 8c 1c ff ff ff    	jl     0x895fca
8960ae:	8b bd 2c ff ff ff    	mov    -0xd4(%ebp),%edi
8960b4:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
8960b7:	8b 9d 30 ff ff ff    	mov    -0xd0(%ebp),%ebx
8960bd:	8b 55 8c             	mov    -0x74(%ebp),%edx
8960c0:	ff 75 18             	push   0x18(%ebp)
8960c3:	8d 42 02             	lea    0x2(%edx),%eax
8960c6:	50                   	push   %eax
8960c7:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
8960cd:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
8960d0:	e8 67 93 b9 ff       	call   0x42f43c
8960d5:	ff 75 18             	push   0x18(%ebp)
8960d8:	8d 46 fe             	lea    -0x2(%esi),%eax
8960db:	50                   	push   %eax
8960dc:	ff b5 38 ff ff ff    	push   -0xc8(%ebp)
8960e2:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
8960e5:	e8 90 f3 b6 ff       	call   0x40547a
8960ea:	8b 45 e0             	mov    -0x20(%ebp),%eax
8960ed:	33 c9                	xor    %ecx,%ecx
8960ef:	6a 08                	push   $0x8
8960f1:	5a                   	pop    %edx
8960f2:	f7 e2                	mul    %edx
8960f4:	0f 90 c1             	seto   %cl
8960f7:	f7 d9                	neg    %ecx
8960f9:	0b c8                	or     %eax,%ecx
8960fb:	51                   	push   %ecx
8960fc:	e8 96 f6 b9 ff       	call   0x435797
896101:	8b 75 d8             	mov    -0x28(%ebp),%esi
896104:	89 85 38 ff ff ff    	mov    %eax,-0xc8(%ebp)
89610a:	59                   	pop    %ecx
89610b:	85 f6                	test   %esi,%esi
89610d:	74 32                	je     0x896141
89610f:	8d 50 04             	lea    0x4(%eax),%edx
896112:	8d 0e                	lea    (%esi),%ecx
896114:	8b 36                	mov    (%esi),%esi
896116:	8b 41 08             	mov    0x8(%ecx),%eax
896119:	89 42 fc             	mov    %eax,-0x4(%edx)
89611c:	8b 41 0c             	mov    0xc(%ecx),%eax
89611f:	89 02                	mov    %eax,(%edx)
896121:	83 bf 90 00 00 00 01 	cmpl   $0x1,0x90(%edi)
896128:	75 0a                	jne    0x896134
89612a:	8b 45 10             	mov    0x10(%ebp),%eax
89612d:	2b 02                	sub    (%edx),%eax
89612f:	03 45 18             	add    0x18(%ebp),%eax
896132:	89 02                	mov    %eax,(%edx)
896134:	83 c2 08             	add    $0x8,%edx
896137:	85 f6                	test   %esi,%esi
896139:	75 d7                	jne    0x896112
89613b:	8b 85 38 ff ff ff    	mov    -0xc8(%ebp),%eax
896141:	83 a5 0c ff ff ff 00 	andl   $0x0,-0xf4(%ebp)
896148:	c7 85 08 ff ff ff 2c 	movl   $0xc3872c,-0xf8(%ebp)
89614f:	87 c3 00
896152:	6a 02                	push   $0x2
896154:	ff 75 e0             	push   -0x20(%ebp)
896157:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
89615b:	50                   	push   %eax
89615c:	ff 15 64 32 d8 00    	call   *0xd83264
896162:	50                   	push   %eax
896163:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
896169:	e8 04 04 b8 ff       	call   0x416572
89616e:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
896174:	8b cb                	mov    %ebx,%ecx
896176:	50                   	push   %eax
896177:	e8 3a 64 b9 ff       	call   0x42c5b6
89617c:	8b 85 28 ff ff ff    	mov    -0xd8(%ebp),%eax
896182:	83 f8 ff             	cmp    $0xffffffff,%eax
896185:	75 08                	jne    0x89618f
896187:	e8 aa 21 b8 ff       	call   0x418336
89618c:	8b 40 1c             	mov    0x1c(%eax),%eax
89618f:	50                   	push   %eax
896190:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
896196:	e8 4f 08 b9 ff       	call   0x4269ea
89619b:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
8961a1:	8d 75 0c             	lea    0xc(%ebp),%esi
8961a4:	57                   	push   %edi
8961a5:	ff 75 20             	push   0x20(%ebp)
8961a8:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
8961ac:	8b 01                	mov    (%ecx),%eax
8961ae:	8d 8d 20 ff ff ff    	lea    -0xe0(%ebp),%ecx
8961b4:	ff 75 1c             	push   0x1c(%ebp)
8961b7:	51                   	push   %ecx
8961b8:	83 ec 10             	sub    $0x10,%esp
8961bb:	8b fc                	mov    %esp,%edi
8961bd:	53                   	push   %ebx
8961be:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8961bf:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8961c0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8961c1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
8961c2:	8b b0 f8 00 00 00    	mov    0xf8(%eax),%esi
8961c8:	8b ce                	mov    %esi,%ecx
8961ca:	e8 96 64 b9 ff       	call   0x42c665
8961cf:	8b 8d 34 ff ff ff    	mov    -0xcc(%ebp),%ecx
8961d5:	ff d6                	call   *%esi
8961d7:	6a 00                	push   $0x0
8961d9:	8b cb                	mov    %ebx,%ecx
8961db:	e8 d6 63 b9 ff       	call   0x42c5b6
8961e0:	e8 51 21 b8 ff       	call   0x418336
8961e5:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
8961eb:	ff 70 58             	push   0x58(%eax)
8961ee:	6a 01                	push   $0x1
8961f0:	6a 00                	push   $0x0
8961f2:	e8 b8 2e b9 ff       	call   0x4290af
8961f7:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
8961fd:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
896201:	50                   	push   %eax
896202:	8b cb                	mov    %ebx,%ecx
896204:	e8 23 07 b9 ff       	call   0x42692c
896209:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
89620f:	33 c0                	xor    %eax,%eax
896211:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
896217:	39 45 e0             	cmp    %eax,-0x20(%ebp)
89621a:	0f 8e b4 00 00 00    	jle    0x8962d4
896220:	8b b5 38 ff ff ff    	mov    -0xc8(%ebp),%esi
896226:	83 c6 fc             	add    $0xfffffffc,%esi
896229:	a8 01                	test   $0x1,%al
89622b:	0f 84 90 00 00 00    	je     0x8962c1
896231:	8b 46 fc             	mov    -0x4(%esi),%eax
896234:	8b 7e 04             	mov    0x4(%esi),%edi
896237:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
89623d:	8b 06                	mov    (%esi),%eax
89623f:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
896245:	8b 46 08             	mov    0x8(%esi),%eax
896248:	89 85 30 ff ff ff    	mov    %eax,-0xd0(%ebp)
89624e:	8b 45 14             	mov    0x14(%ebp),%eax
896251:	03 45 0c             	add    0xc(%ebp),%eax
896254:	99                   	cltd
896255:	2b c2                	sub    %edx,%eax
896257:	8b c8                	mov    %eax,%ecx
896259:	8b 85 3c ff ff ff    	mov    -0xc4(%ebp),%eax
89625f:	d1 f9                	sar    $1,%ecx
896261:	3b c1                	cmp    %ecx,%eax
896263:	7e 0c                	jle    0x896271
896265:	3b f9                	cmp    %ecx,%edi
896267:	7e 08                	jle    0x896271
896269:	48                   	dec    %eax
89626a:	4f                   	dec    %edi
89626b:	89 85 3c ff ff ff    	mov    %eax,-0xc4(%ebp)
896271:	8b 8d 14 ff ff ff    	mov    -0xec(%ebp),%ecx
896277:	8b 95 30 ff ff ff    	mov    -0xd0(%ebp),%edx
89627d:	3b d1                	cmp    %ecx,%edx
89627f:	7c 16                	jl     0x896297
896281:	51                   	push   %ecx
896282:	50                   	push   %eax