a4df35:	ff 75 1c             	push   0x1c(%ebp)
a4df38:	ff 75 18             	push   0x18(%ebp)
a4df3b:	ff 75 14             	push   0x14(%ebp)
a4df3e:	ff 75 10             	push   0x10(%ebp)
a4df41:	ff 75 0c             	push   0xc(%ebp)
a4df44:	e8 c0 cb 9c ff       	call   0x41ab09
a4df49:	5d                   	pop    %ebp
a4df4a:	c3                   	ret
a4df4b:	cc                   	int3
a4df4c:	cc                   	int3
a4df4d:	cc                   	int3
a4df4e:	cc                   	int3
a4df4f:	cc                   	int3
a4df50:	cc                   	int3
a4df51:	cc                   	int3
a4df52:	cc                   	int3
a4df53:	6a 78                	push   $0x78
a4df55:	b8 e1 b1 bb 00       	mov    $0xbbb1e1,%eax
a4df5a:	e8 2c c3 9b ff       	call   0x40a28b
a4df5f:	8b c1                	mov    %ecx,%eax
a4df61:	89 45 e0             	mov    %eax,-0x20(%ebp)
a4df64:	33 db                	xor    %ebx,%ebx
a4df66:	39 18                	cmp    %ebx,(%eax)
a4df68:	0f 84 97 04 00 00    	je     0xa4e405
a4df6e:	89 5d b0             	mov    %ebx,-0x50(%ebp)
a4df71:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
a4df74:	89 5d b8             	mov    %ebx,-0x48(%ebp)
a4df77:	89 5d bc             	mov    %ebx,-0x44(%ebp)
a4df7a:	6a 10                	push   $0x10
a4df7c:	58                   	pop    %eax
a4df7d:	50                   	push   %eax
a4df7e:	8d 45 b0             	lea    -0x50(%ebp),%eax
a4df81:	89 5d fc             	mov    %ebx,-0x4(%ebp)
a4df84:	53                   	push   %ebx
a4df85:	50                   	push   %eax
a4df86:	e8 2d 68 9c ff       	call   0x4147b8
a4df8b:	8b 7d 18             	mov    0x18(%ebp),%edi
a4df8e:	83 c4 0c             	add    $0xc,%esp
a4df91:	85 ff                	test   %edi,%edi
a4df93:	74 0e                	je     0xa4dfa3
a4df95:	57                   	push   %edi
a4df96:	e8 e6 6c 9c ff       	call   0x414c81
a4df9b:	8b f0                	mov    %eax,%esi
a4df9d:	59                   	pop    %ecx
a4df9e:	89 75 b8             	mov    %esi,-0x48(%ebp)
a4dfa1:	eb 03                	jmp    0xa4dfa6
a4dfa3:	8b 75 b8             	mov    -0x48(%ebp),%esi
a4dfa6:	f6 45 0c 0c          	testb  $0xc,0xc(%ebp)
a4dfaa:	c7 45 e4 fd ff ff ff 	movl   $0xfffffffd,-0x1c(%ebp)
a4dfb1:	74 0d                	je     0xa4dfc0
a4dfb3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
a4dfb6:	c7 45 bc 01 00 00 00 	movl   $0x1,-0x44(%ebp)
a4dfbd:	89 45 b4             	mov    %eax,-0x4c(%ebp)
a4dfc0:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
a4dfc3:	e8 a4 ed 9e ff       	call   0x43cd6c
a4dfc8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a4dfcc:	85 f6                	test   %esi,%esi
a4dfce:	0f 84 3a 01 00 00    	je     0xa4e10e
a4dfd4:	33 c9                	xor    %ecx,%ecx
a4dfd6:	8b c6                	mov    %esi,%eax
a4dfd8:	6a 10                	push   $0x10
a4dfda:	5a                   	pop    %edx
a4dfdb:	f7 e2                	mul    %edx
a4dfdd:	0f 90 c1             	seto   %cl
a4dfe0:	f7 d9                	neg    %ecx
a4dfe2:	0b c8                	or     %eax,%ecx
a4dfe4:	51                   	push   %ecx
a4dfe5:	e8 ad 77 9e ff       	call   0x435797
a4dfea:	8b 4d b8             	mov    -0x48(%ebp),%ecx
a4dfed:	8b f0                	mov    %eax,%esi
a4dfef:	c1 e1 04             	shl    $0x4,%ecx
a4dff2:	51                   	push   %ecx
a4dff3:	53                   	push   %ebx
a4dff4:	56                   	push   %esi
a4dff5:	89 75 b0             	mov    %esi,-0x50(%ebp)
a4dff8:	e8 bb 67 9c ff       	call   0x4147b8
a4dffd:	8b 55 b8             	mov    -0x48(%ebp),%edx
a4e000:	83 c4 10             	add    $0x10,%esp
a4e003:	c1 e2 04             	shl    $0x4,%edx
a4e006:	83 c2 f0             	add    $0xfffffff0,%edx
a4e009:	89 7d e8             	mov    %edi,-0x18(%ebp)
a4e00c:	03 d6                	add    %esi,%edx
a4e00e:	80 3f 00             	cmpb   $0x0,(%edi)
a4e011:	89 55 ec             	mov    %edx,-0x14(%ebp)
a4e014:	0f 84 f4 00 00 00    	je     0xa4e10e
a4e01a:	8b 45 1c             	mov    0x1c(%ebp),%eax
a4e01d:	8d 7a 08             	lea    0x8(%edx),%edi
a4e020:	6a 04                	push   $0x4
a4e022:	89 7d f0             	mov    %edi,-0x10(%ebp)
a4e025:	5e                   	pop    %esi
a4e026:	8d 58 fc             	lea    -0x4(%eax),%ebx
a4e029:	8d 48 f8             	lea    -0x8(%eax),%ecx
a4e02c:	8b 45 e8             	mov    -0x18(%ebp),%eax
a4e02f:	0f b6 00             	movzbl (%eax),%eax
a4e032:	66 89 02             	mov    %ax,(%edx)
a4e035:	a8 40                	test   $0x40,%al
a4e037:	74 0d                	je     0xa4e046
a4e039:	25 bf ff 00 00       	and    $0xffbf,%eax
a4e03e:	0d 00 40 00 00       	or     $0x4000,%eax
a4e043:	66 89 02             	mov    %ax,(%edx)
a4e046:	0f b7 02             	movzwl (%edx),%eax
a4e049:	3d 02 40 00 00       	cmp    $0x4002,%eax
a4e04e:	0f 87 b7 01 00 00    	ja     0xa4e20b
a4e054:	74 29                	je     0xa4e07f
a4e056:	83 e8 02             	sub    $0x2,%eax
a4e059:	83 f8 13             	cmp    $0x13,%eax
a4e05c:	0f 87 8d 00 00 00    	ja     0xa4e0ef
a4e062:	ff 24 85 0f e4 a4 00 	jmp    *0xa4e40f(,%eax,4)
a4e069:	03 ce                	add    %esi,%ecx
a4e06b:	03 de                	add    %esi,%ebx
a4e06d:	8a 03                	mov    (%ebx),%al
a4e06f:	88 07                	mov    %al,(%edi)
a4e071:	eb 7c                	jmp    0xa4e0ef
a4e073:	03 ce                	add    %esi,%ecx
a4e075:	03 de                	add    %esi,%ebx
a4e077:	66 8b 03             	mov    (%ebx),%ax
a4e07a:	66 89 07             	mov    %ax,(%edi)
a4e07d:	eb 70                	jmp    0xa4e0ef
a4e07f:	03 ce                	add    %esi,%ecx
a4e081:	03 de                	add    %esi,%ebx
a4e083:	8b 03                	mov    (%ebx),%eax
a4e085:	89 07                	mov    %eax,(%edi)
a4e087:	eb 66                	jmp    0xa4e0ef
a4e089:	83 c1 08             	add    $0x8,%ecx
a4e08c:	83 c3 08             	add    $0x8,%ebx
a4e08f:	8b 01                	mov    (%ecx),%eax
a4e091:	89 07                	mov    %eax,(%edi)
a4e093:	8b 41 04             	mov    0x4(%ecx),%eax
a4e096:	89 47 04             	mov    %eax,0x4(%edi)
a4e099:	eb 54                	jmp    0xa4e0ef
a4e09b:	83 c1 08             	add    $0x8,%ecx
a4e09e:	83 c3 08             	add    $0x8,%ebx
a4e0a1:	dd 01                	fldl   (%ecx)
a4e0a3:	d9 1f                	fstps  (%edi)
a4e0a5:	eb 48                	jmp    0xa4e0ef
a4e0a7:	83 c1 08             	add    $0x8,%ecx
a4e0aa:	83 c3 08             	add    $0x8,%ebx
a4e0ad:	dd 01                	fldl   (%ecx)
a4e0af:	dd 1f                	fstpl  (%edi)
a4e0b1:	eb 3c                	jmp    0xa4e0ef
a4e0b3:	03 ce                	add    %esi,%ecx
a4e0b5:	03 de                	add    %esi,%ebx
a4e0b7:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a4e0ba:	8b 0b                	mov    (%ebx),%ecx
a4e0bc:	8b 01                	mov    (%ecx),%eax
a4e0be:	89 07                	mov    %eax,(%edi)
a4e0c0:	8b 41 04             	mov    0x4(%ecx),%eax
a4e0c3:	89 47 04             	mov    %eax,0x4(%edi)
a4e0c6:	eb 24                	jmp    0xa4e0ec
a4e0c8:	03 de                	add    %esi,%ebx
a4e0ca:	03 ce                	add    %esi,%ecx
a4e0cc:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a4e0cf:	8b 33                	mov    (%ebx),%esi
a4e0d1:	56                   	push   %esi
a4e0d2:	ff 15 5c 3b d8 00    	call   *0xd83b5c
a4e0d8:	89 07                	mov    %eax,(%edi)
a4e0da:	85 f6                	test   %esi,%esi
a4e0dc:	74 08                	je     0xa4e0e6
a4e0de:	85 c0                	test   %eax,%eax
a4e0e0:	0f 84 8d 01 00 00    	je     0xa4e273
a4e0e6:	6a 04                	push   $0x4
a4e0e8:	5e                   	pop    %esi
a4e0e9:	8b 55 ec             	mov    -0x14(%ebp),%edx
a4e0ec:	8b 4d f0             	mov    -0x10(%ebp),%ecx
a4e0ef:	6a 10                	push   $0x10
a4e0f1:	58                   	pop    %eax
a4e0f2:	2b d0                	sub    %eax,%edx
a4e0f4:	2b f8                	sub    %eax,%edi
a4e0f6:	8b 45 e8             	mov    -0x18(%ebp),%eax
a4e0f9:	40                   	inc    %eax
a4e0fa:	89 55 ec             	mov    %edx,-0x14(%ebp)
a4e0fd:	89 7d f0             	mov    %edi,-0x10(%ebp)
a4e100:	89 45 e8             	mov    %eax,-0x18(%ebp)
a4e103:	80 38 00             	cmpb   $0x0,(%eax)
a4e106:	0f 85 23 ff ff ff    	jne    0xa4e02f
a4e10c:	33 db                	xor    %ebx,%ebx
a4e10e:	8d 45 c0             	lea    -0x40(%ebp),%eax
a4e111:	50                   	push   %eax
a4e112:	e8 64 56 9e ff       	call   0x43377b
a4e117:	6a 20                	push   $0x20
a4e119:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
a4e11f:	53                   	push   %ebx
a4e120:	50                   	push   %eax
a4e121:	e8 92 66 9c ff       	call   0x4147b8
a4e126:	8b 7d 10             	mov    0x10(%ebp),%edi
a4e129:	8d 45 dc             	lea    -0x24(%ebp),%eax
a4e12c:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
a4e130:	8d 55 c0             	lea    -0x40(%ebp),%edx
a4e133:	8b 4d e0             	mov    -0x20(%ebp),%ecx
a4e136:	83 c4 0c             	add    $0xc,%esp
a4e139:	8b 09                	mov    (%ecx),%ecx
a4e13b:	50                   	push   %eax
a4e13c:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
a4e142:	50                   	push   %eax
a4e143:	8b 31                	mov    (%ecx),%esi
a4e145:	0f b7 c7             	movzwl %di,%eax
a4e148:	f7 d8                	neg    %eax
a4e14a:	1b c0                	sbb    %eax,%eax
a4e14c:	23 c2                	and    %edx,%eax
a4e14e:	50                   	push   %eax
a4e14f:	8d 45 b0             	lea    -0x50(%ebp),%eax
a4e152:	50                   	push   %eax
a4e153:	ff 75 0c             	push   0xc(%ebp)
a4e156:	53                   	push   %ebx
a4e157:	68 f8 e6 c8 00       	push   $0xc8e6f8
a4e15c:	ff 75 08             	push   0x8(%ebp)
a4e15f:	51                   	push   %ecx
a4e160:	8b 4e 18             	mov    0x18(%esi),%ecx
a4e163:	e8 fd e4 9d ff       	call   0x42c665
a4e168:	ff 56 18             	call   *0x18(%esi)
a4e16b:	8b f0                	mov    %eax,%esi
a4e16d:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
a4e170:	89 75 e8             	mov    %esi,-0x18(%ebp)
a4e173:	e8 67 1c 9c ff       	call   0x40fddf
a4e178:	8b 45 b8             	mov    -0x48(%ebp),%eax
a4e17b:	85 c0                	test   %eax,%eax
a4e17d:	74 36                	je     0xa4e1b5
a4e17f:	8b 75 b0             	mov    -0x50(%ebp),%esi
a4e182:	c1 e0 04             	shl    $0x4,%eax
a4e185:	83 c6 f0             	add    $0xfffffff0,%esi
a4e188:	03 f0                	add    %eax,%esi
a4e18a:	8b 45 18             	mov    0x18(%ebp),%eax
a4e18d:	80 38 00             	cmpb   $0x0,(%eax)
a4e190:	74 20                	je     0xa4e1b2
a4e192:	6a 10                	push   $0x10
a4e194:	59                   	pop    %ecx
a4e195:	80 38 08             	cmpb   $0x8,(%eax)
a4e198:	75 0d                	jne    0xa4e1a7
a4e19a:	56                   	push   %esi
a4e19b:	ff 15 64 3b d8 00    	call   *0xd83b64
a4e1a1:	8b 45 18             	mov    0x18(%ebp),%eax
a4e1a4:	6a 10                	push   $0x10
a4e1a6:	59                   	pop    %ecx
a4e1a7:	2b f1                	sub    %ecx,%esi
a4e1a9:	40                   	inc    %eax
a4e1aa:	89 45 18             	mov    %eax,0x18(%ebp)
a4e1ad:	80 38 00             	cmpb   $0x0,(%eax)
a4e1b0:	75 e3                	jne    0xa4e195
a4e1b2:	8b 75 e8             	mov    -0x18(%ebp),%esi
a4e1b5:	ff 75 b0             	push   -0x50(%ebp)
a4e1b8:	e8 55 04 9f ff       	call   0x43e612
a4e1bd:	89 5d b0             	mov    %ebx,-0x50(%ebp)
a4e1c0:	59                   	pop    %ecx
a4e1c1:	85 f6                	test   %esi,%esi
a4e1c3:	0f 89 6e 01 00 00    	jns    0xa4e337
a4e1c9:	8d 45 c0             	lea    -0x40(%ebp),%eax
a4e1cc:	50                   	push   %eax
a4e1cd:	ff 15 64 3b d8 00    	call   *0xd83b64
a4e1d3:	81 fe 09 00 02 80    	cmp    $0x80020009,%esi
a4e1d9:	0f 84 99 00 00 00    	je     0xa4e278
a4e1df:	56                   	push   %esi
a4e1e0:	e8 48 42 9b ff       	call   0x40242d
a4e1e5:	03 de                	add    %esi,%ebx
a4e1e7:	03 ce                	add    %esi,%ecx
a4e1e9:	8b 03                	mov    (%ebx),%eax
a4e1eb:	f7 d8                	neg    %eax
a4e1ed:	1b c0                	sbb    %eax,%eax
a4e1ef:	e9 86 fe ff ff       	jmp    0xa4e07a
a4e1f4:	03 ce                	add    %esi,%ecx
a4e1f6:	8b fa                	mov    %edx,%edi
a4e1f8:	03 de                	add    %esi,%ebx
a4e1fa:	6a 04                	push   $0x4
a4e1fc:	8b 33                	mov    (%ebx),%esi
a4e1fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e1ff:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e200:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e201:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e202:	8b 7d f0             	mov    -0x10(%ebp),%edi
a4e205:	5e                   	pop    %esi
a4e206:	e9 e4 fe ff ff       	jmp    0xa4e0ef
a4e20b:	2d 03 40 00 00       	sub    $0x4003,%eax
a4e210:	83 f8 12             	cmp    $0x12,%eax
a4e213:	0f 87 d6 fe ff ff    	ja     0xa4e0ef
a4e219:	ff 24 85 5f e4 a4 00 	jmp    *0xa4e45f(,%eax,4)
a4e220:	03 de                	add    %esi,%ebx
a4e222:	03 ce                	add    %esi,%ecx
a4e224:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a4e227:	8b 0b                	mov    (%ebx),%ecx
a4e229:	89 4d d0             	mov    %ecx,-0x30(%ebp)
a4e22c:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
a4e22f:	8b 01                	mov    (%ecx),%eax
a4e231:	f7 d8                	neg    %eax
a4e233:	1b c0                	sbb    %eax,%eax
a4e235:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
a4e239:	25 ff ff 00 00       	and    $0xffff,%eax
a4e23e:	89 01                	mov    %eax,(%ecx)
a4e240:	89 0f                	mov    %ecx,(%edi)
a4e242:	8d 45 d0             	lea    -0x30(%ebp),%eax
a4e245:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
a4e249:	50                   	push   %eax
a4e24a:	ff 75 a4             	push   -0x5c(%ebp)
a4e24d:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
a4e250:	e8 3b 24 9c ff       	call   0x410690
a4e255:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
a4e259:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a4e25d:	0f 84 86 fe ff ff    	je     0xa4e0e9
a4e263:	56                   	push   %esi
a4e264:	ff 75 d0             	push   -0x30(%ebp)
a4e267:	e8 30 3c 9b ff       	call   0x401e9c
a4e26c:	59                   	pop    %ecx
a4e26d:	59                   	pop    %ecx
a4e26e:	e9 76 fe ff ff       	jmp    0xa4e0e9
a4e273:	e8 6e 8b 9d ff       	call   0x426de6
a4e278:	8b 75 94             	mov    -0x6c(%ebp),%esi
a4e27b:	85 f6                	test   %esi,%esi
a4e27d:	74 10                	je     0xa4e28f
a4e27f:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
a4e285:	8b ce                	mov    %esi,%ecx
a4e287:	50                   	push   %eax
a4e288:	e8 d8 e3 9d ff       	call   0x42c665
a4e28d:	ff d6                	call   *%esi
a4e28f:	6a 20                	push   $0x20
a4e291:	e8 e7 c6 9d ff       	call   0x42a97d
a4e296:	59                   	pop    %ecx
a4e297:	89 45 e0             	mov    %eax,-0x20(%ebp)
a4e29a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
a4e29e:	85 c0                	test   %eax,%eax
a4e2a0:	74 11                	je     0xa4e2b3
a4e2a2:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
a4e2a8:	8b c8                	mov    %eax,%ecx
a4e2aa:	53                   	push   %ebx
a4e2ab:	53                   	push   %ebx
a4e2ac:	e8 59 8a 9d ff       	call   0x426d0a
a4e2b1:	8b d8                	mov    %eax,%ebx
a4e2b3:	ff 75 80             	push   -0x80(%ebp)
a4e2b6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a4e2ba:	ff 15 00 3b d8 00    	call   *0xd83b00
a4e2c0:	85 c0                	test   %eax,%eax
a4e2c2:	74 0b                	je     0xa4e2cf
a4e2c4:	ff 75 80             	push   -0x80(%ebp)
a4e2c7:	8d 4b 18             	lea    0x18(%ebx),%ecx
a4e2ca:	e8 bb 51 9c ff       	call   0x41348a
a4e2cf:	ff 75 80             	push   -0x80(%ebp)
a4e2d2:	ff 15 24 3b d8 00    	call   *0xd83b24
a4e2d8:	ff 75 84             	push   -0x7c(%ebp)
a4e2db:	ff 15 00 3b d8 00    	call   *0xd83b00
a4e2e1:	85 c0                	test   %eax,%eax
a4e2e3:	74 0b                	je     0xa4e2f0
a4e2e5:	ff 75 84             	push   -0x7c(%ebp)
a4e2e8:	8d 4b 0c             	lea    0xc(%ebx),%ecx
a4e2eb:	e8 9a 51 9c ff       	call   0x41348a
a4e2f0:	ff 75 84             	push   -0x7c(%ebp)
a4e2f3:	ff 15 24 3b d8 00    	call   *0xd83b24
a4e2f9:	ff 75 88             	push   -0x78(%ebp)
a4e2fc:	ff 15 00 3b d8 00    	call   *0xd83b00
a4e302:	85 c0                	test   %eax,%eax
a4e304:	74 0b                	je     0xa4e311
a4e306:	ff 75 88             	push   -0x78(%ebp)
a4e309:	8d 4b 14             	lea    0x14(%ebx),%ecx
a4e30c:	e8 66 71 9e ff       	call   0x435477