7d7041:	8b 44 c4 58          	mov    0x58(%esp,%eax,8),%eax
7d7045:	48                   	dec    %eax
7d7046:	83 f8 06             	cmp    $0x6,%eax
7d7049:	0f 87 b1 07 00 00    	ja     0x7d7800
7d704f:	ff 24 85 38 78 7d 00 	jmp    *0x7d7838(,%eax,4)
7d7056:	f7 c2 00 80 00 00    	test   $0x8000,%edx
7d705c:	74 cc                	je     0x7d702a
7d705e:	8b 4c cc 64          	mov    0x64(%esp,%ecx,8),%ecx
7d7062:	eb c9                	jmp    0x7d702d
7d7064:	8b 44 24 10          	mov    0x10(%esp),%eax
7d7068:	8b 6c c4 68          	mov    0x68(%esp,%eax,8),%ebp
7d706c:	8b 44 c4 6c          	mov    0x6c(%esp,%eax,8),%eax
7d7070:	89 6c 24 10          	mov    %ebp,0x10(%esp)
7d7074:	8b 6c 24 44          	mov    0x44(%esp),%ebp
7d7078:	89 44 24 38          	mov    %eax,0x38(%esp)
7d707c:	f7 c2 00 00 02 00    	test   $0x20000,%edx
7d7082:	74 7c                	je     0x7d7100
7d7084:	83 e2 04             	and    $0x4,%edx
7d7087:	89 54 24 28          	mov    %edx,0x28(%esp)
7d708b:	75 1c                	jne    0x7d70a9
7d708d:	4f                   	dec    %edi
7d708e:	85 ff                	test   %edi,%edi
7d7090:	7e 17                	jle    0x7d70a9
7d7092:	55                   	push   %ebp
7d7093:	6a 20                	push   $0x20
7d7095:	ff d3                	call   *%ebx
7d7097:	83 c4 08             	add    $0x8,%esp
7d709a:	83 f8 ff             	cmp    $0xffffffff,%eax
7d709d:	0f 84 73 07 00 00    	je     0x7d7816
7d70a3:	4f                   	dec    %edi
7d70a4:	46                   	inc    %esi
7d70a5:	85 ff                	test   %edi,%edi
7d70a7:	7f e9                	jg     0x7d7092
7d70a9:	8b 44 24 10          	mov    0x10(%esp),%eax
7d70ad:	0f b6 c0             	movzbl %al,%eax
7d70b0:	55                   	push   %ebp
7d70b1:	50                   	push   %eax
7d70b2:	ff d3                	call   *%ebx
7d70b4:	83 c4 08             	add    $0x8,%esp
7d70b7:	83 f8 ff             	cmp    $0xffffffff,%eax
7d70ba:	0f 84 56 07 00 00    	je     0x7d7816
7d70c0:	46                   	inc    %esi
7d70c1:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
7d70c6:	89 74 24 14          	mov    %esi,0x14(%esp)
7d70ca:	0f 84 30 07 00 00    	je     0x7d7800
7d70d0:	4f                   	dec    %edi
7d70d1:	85 ff                	test   %edi,%edi
7d70d3:	0f 8e 27 07 00 00    	jle    0x7d7800
7d70d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
7d70e0:	55                   	push   %ebp
7d70e1:	6a 20                	push   $0x20
7d70e3:	ff d3                	call   *%ebx
7d70e5:	83 c4 08             	add    $0x8,%esp
7d70e8:	83 f8 ff             	cmp    $0xffffffff,%eax
7d70eb:	0f 84 25 07 00 00    	je     0x7d7816
7d70f1:	46                   	inc    %esi
7d70f2:	4f                   	dec    %edi
7d70f3:	89 74 24 14          	mov    %esi,0x14(%esp)
7d70f7:	85 ff                	test   %edi,%edi
7d70f9:	7f e5                	jg     0x7d70e0
7d70fb:	e9 00 07 00 00       	jmp    0x7d7800
7d7100:	f7 c2 00 04 00 00    	test   $0x400,%edx
7d7106:	74 11                	je     0x7d7119
7d7108:	8b 44 24 10          	mov    0x10(%esp),%eax
7d710c:	c7 44 24 18 08 00 00 	movl   $0x8,0x18(%esp)
7d7113:	00
7d7114:	e9 0f 02 00 00       	jmp    0x7d7328
7d7119:	f7 c2 00 08 00 00    	test   $0x800,%edx
7d711f:	74 28                	je     0x7d7149
7d7121:	f7 c2 00 10 00 00    	test   $0x1000,%edx
7d7127:	c7 44 24 18 10 00 00 	movl   $0x10,0x18(%esp)
7d712e:	00
7d712f:	b8 54 e1 c2 00       	mov    $0xc2e154,%eax
7d7134:	ba 2c e1 c2 00       	mov    $0xc2e12c,%edx
7d7139:	0f 44 c2             	cmove  %edx,%eax
7d713c:	89 44 24 40          	mov    %eax,0x40(%esp)
7d7140:	8b 44 24 10          	mov    0x10(%esp),%eax
7d7144:	e9 df 01 00 00       	jmp    0x7d7328
7d7149:	c7 44 24 18 0a 00 00 	movl   $0xa,0x18(%esp)
7d7150:	00
7d7151:	f7 c2 00 02 00 00    	test   $0x200,%edx
7d7157:	74 09                	je     0x7d7162
7d7159:	8b 44 24 10          	mov    0x10(%esp),%eax
7d715d:	e9 c6 01 00 00       	jmp    0x7d7328
7d7162:	8b 54 24 38          	mov    0x38(%esp),%edx
7d7166:	85 d2                	test   %edx,%edx
7d7168:	7f ef                	jg     0x7d7159
7d716a:	8b 44 24 10          	mov    0x10(%esp),%eax
7d716e:	7c 04                	jl     0x7d7174
7d7170:	85 c0                	test   %eax,%eax
7d7172:	73 e5                	jae    0x7d7159
7d7174:	f7 d8                	neg    %eax
7d7176:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
7d717d:	00
7d717e:	89 44 24 10          	mov    %eax,0x10(%esp)
7d7182:	83 d2 00             	adc    $0x0,%edx
7d7185:	f7 da                	neg    %edx
7d7187:	89 54 24 38          	mov    %edx,0x38(%esp)
7d718b:	e9 a0 01 00 00       	jmp    0x7d7330
7d7190:	8b 44 24 10          	mov    0x10(%esp),%eax
7d7194:	8b 44 c4 68          	mov    0x68(%esp,%eax,8),%eax
7d7198:	89 44 24 18          	mov    %eax,0x18(%esp)
7d719c:	85 c0                	test   %eax,%eax
7d719e:	75 32                	jne    0x7d71d2
7d71a0:	83 f9 ff             	cmp    $0xffffffff,%ecx
7d71a3:	74 12                	je     0x7d71b7
7d71a5:	83 f9 05             	cmp    $0x5,%ecx
7d71a8:	7d 0d                	jge    0x7d71b7
7d71aa:	b8 35 41 bd 00       	mov    $0xbd4135,%eax
7d71af:	33 c9                	xor    %ecx,%ecx
7d71b1:	89 44 24 18          	mov    %eax,0x18(%esp)
7d71b5:	eb 32                	jmp    0x7d71e9
7d71b7:	b8 7c e1 c2 00       	mov    $0xc2e17c,%eax
7d71bc:	83 e2 f7             	and    $0xfffffff7,%edx
7d71bf:	89 44 24 18          	mov    %eax,0x18(%esp)
7d71c3:	b9 05 00 00 00       	mov    $0x5,%ecx
7d71c8:	8b 44 24 10          	mov    0x10(%esp),%eax
7d71cc:	89 54 c4 5c          	mov    %edx,0x5c(%esp,%eax,8)
7d71d0:	eb 17                	jmp    0x7d71e9
7d71d2:	83 f9 ff             	cmp    $0xffffffff,%ecx
7d71d5:	75 16                	jne    0x7d71ed
7d71d7:	8b c8                	mov    %eax,%ecx
7d71d9:	8d 51 01             	lea    0x1(%ecx),%edx
7d71dc:	0f 1f 40 00          	nopl   0x0(%eax)
7d71e0:	8a 01                	mov    (%ecx),%al
7d71e2:	41                   	inc    %ecx
7d71e3:	84 c0                	test   %al,%al
7d71e5:	75 f9                	jne    0x7d71e0
7d71e7:	2b ca                	sub    %edx,%ecx
7d71e9:	89 4c 24 24          	mov    %ecx,0x24(%esp)
7d71ed:	8b c1                	mov    %ecx,%eax
7d71ef:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
7d71f5:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
7d71fa:	0f 47 c1             	cmova  %ecx,%eax
7d71fd:	2b f8                	sub    %eax,%edi
7d71ff:	8b 44 24 10          	mov    0x10(%esp),%eax
7d7203:	8b 44 c4 5c          	mov    0x5c(%esp,%eax,8),%eax
7d7207:	8b c8                	mov    %eax,%ecx
7d7209:	83 e1 08             	and    $0x8,%ecx
7d720c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7d7210:	89 4c 24 20          	mov    %ecx,0x20(%esp)
7d7214:	74 1a                	je     0x7d7230
7d7216:	55                   	push   %ebp
7d7217:	6a 22                	push   $0x22
7d7219:	ff d3                	call   *%ebx
7d721b:	83 c4 08             	add    $0x8,%esp
7d721e:	83 f8 ff             	cmp    $0xffffffff,%eax
7d7221:	0f 84 ef 05 00 00    	je     0x7d7816
7d7227:	8b 44 24 1c          	mov    0x1c(%esp),%eax
7d722b:	46                   	inc    %esi
7d722c:	89 74 24 14          	mov    %esi,0x14(%esp)
7d7230:	83 e0 04             	and    $0x4,%eax
7d7233:	89 44 24 1c          	mov    %eax,0x1c(%esp)
7d7237:	75 23                	jne    0x7d725c
7d7239:	85 ff                	test   %edi,%edi
7d723b:	7e 1e                	jle    0x7d725b
7d723d:	0f 1f 00             	nopl   (%eax)
7d7240:	55                   	push   %ebp
7d7241:	6a 20                	push   $0x20
7d7243:	4f                   	dec    %edi
7d7244:	ff d3                	call   *%ebx
7d7246:	83 c4 08             	add    $0x8,%esp
7d7249:	83 f8 ff             	cmp    $0xffffffff,%eax
7d724c:	0f 84 c4 05 00 00    	je     0x7d7816
7d7252:	46                   	inc    %esi
7d7253:	89 74 24 14          	mov    %esi,0x14(%esp)
7d7257:	85 ff                	test   %edi,%edi
7d7259:	7f e5                	jg     0x7d7240
7d725b:	4f                   	dec    %edi
7d725c:	8b 44 24 24          	mov    0x24(%esp),%eax
7d7260:	85 c0                	test   %eax,%eax
7d7262:	74 38                	je     0x7d729c
7d7264:	8b 4c 24 18          	mov    0x18(%esp),%ecx
7d7268:	48                   	dec    %eax
7d7269:	89 44 24 24          	mov    %eax,0x24(%esp)
7d726d:	8a 01                	mov    (%ecx),%al
7d726f:	84 c0                	test   %al,%al
7d7271:	74 29                	je     0x7d729c
7d7273:	0f b6 c0             	movzbl %al,%eax
7d7276:	55                   	push   %ebp
7d7277:	50                   	push   %eax
7d7278:	ff d3                	call   *%ebx
7d727a:	8b 4c 24 20          	mov    0x20(%esp),%ecx
7d727e:	83 c4 08             	add    $0x8,%esp
7d7281:	41                   	inc    %ecx
7d7282:	89 4c 24 18          	mov    %ecx,0x18(%esp)
7d7286:	83 f8 ff             	cmp    $0xffffffff,%eax
7d7289:	0f 84 87 05 00 00    	je     0x7d7816
7d728f:	8b 44 24 24          	mov    0x24(%esp),%eax
7d7293:	46                   	inc    %esi
7d7294:	89 74 24 14          	mov    %esi,0x14(%esp)
7d7298:	85 c0                	test   %eax,%eax
7d729a:	75 cc                	jne    0x7d7268
7d729c:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
7d72a1:	74 1f                	je     0x7d72c2
7d72a3:	85 ff                	test   %edi,%edi
7d72a5:	7e 1b                	jle    0x7d72c2
7d72a7:	55                   	push   %ebp
7d72a8:	6a 20                	push   $0x20
7d72aa:	4f                   	dec    %edi
7d72ab:	ff d3                	call   *%ebx
7d72ad:	83 c4 08             	add    $0x8,%esp
7d72b0:	83 f8 ff             	cmp    $0xffffffff,%eax
7d72b3:	0f 84 5d 05 00 00    	je     0x7d7816
7d72b9:	46                   	inc    %esi
7d72ba:	89 74 24 14          	mov    %esi,0x14(%esp)
7d72be:	85 ff                	test   %edi,%edi
7d72c0:	7f e5                	jg     0x7d72a7
7d72c2:	83 7c 24 20 00       	cmpl   $0x0,0x20(%esp)
7d72c7:	0f 84 33 05 00 00    	je     0x7d7800
7d72cd:	55                   	push   %ebp
7d72ce:	6a 22                	push   $0x22
7d72d0:	ff d3                	call   *%ebx
7d72d2:	83 c4 08             	add    $0x8,%esp
7d72d5:	83 f8 ff             	cmp    $0xffffffff,%eax
7d72d8:	0f 84 38 05 00 00    	je     0x7d7816
7d72de:	46                   	inc    %esi
7d72df:	89 74 24 14          	mov    %esi,0x14(%esp)
7d72e3:	e9 18 05 00 00       	jmp    0x7d7800
7d72e8:	8b 44 24 10          	mov    0x10(%esp),%eax
7d72ec:	8b 44 c4 68          	mov    0x68(%esp,%eax,8),%eax
7d72f0:	89 44 24 10          	mov    %eax,0x10(%esp)
7d72f4:	85 c0                	test   %eax,%eax
7d72f6:	0f 84 54 02 00 00    	je     0x7d7550
7d72fc:	f7 c2 00 10 00 00    	test   $0x1000,%edx
7d7302:	c7 44 24 18 10 00 00 	movl   $0x10,0x18(%esp)
7d7309:	00
7d730a:	ba 54 e1 c2 00       	mov    $0xc2e154,%edx
7d730f:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%esp)
7d7316:	00
7d7317:	0f 44 54 24 4c       	cmove  0x4c(%esp),%edx
7d731c:	89 54 24 40          	mov    %edx,0x40(%esp)
7d7320:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%esp)
7d7327:	00
7d7328:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
7d732f:	00
7d7330:	83 f9 ff             	cmp    $0xffffffff,%ecx
7d7333:	ba 01 00 00 00       	mov    $0x1,%edx
7d7338:	0f 44 ca             	cmove  %edx,%ecx
7d733b:	83 7c 24 38 00       	cmpl   $0x0,0x38(%esp)
7d7340:	8d 94 24 76 0f 00 00 	lea    0xf76(%esp),%edx
7d7347:	89 4c 24 24          	mov    %ecx,0x24(%esp)
7d734b:	89 54 24 2c          	mov    %edx,0x2c(%esp)
7d734f:	77 04                	ja     0x7d7355
7d7351:	85 c0                	test   %eax,%eax
7d7353:	74 4b                	je     0x7d73a0
7d7355:	8b 5c 24 10          	mov    0x10(%esp),%ebx
7d7359:	8b ea                	mov    %edx,%ebp
7d735b:	8b 54 24 38          	mov    0x38(%esp),%edx
7d735f:	8b 7c 24 18          	mov    0x18(%esp),%edi
7d7363:	8b 74 24 40          	mov    0x40(%esp),%esi
7d7367:	6a 00                	push   $0x0
7d7369:	57                   	push   %edi
7d736a:	52                   	push   %edx
7d736b:	53                   	push   %ebx
7d736c:	e8 50 e9 c3 ff       	call   0x415cc1
7d7371:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
7d7375:	8b d8                	mov    %eax,%ebx
7d7377:	8a 04 31             	mov    (%ecx,%esi,1),%al
7d737a:	88 45 00             	mov    %al,0x0(%ebp)
7d737d:	4d                   	dec    %ebp
7d737e:	85 d2                	test   %edx,%edx
7d7380:	77 e5                	ja     0x7d7367
7d7382:	72 04                	jb     0x7d7388
7d7384:	85 db                	test   %ebx,%ebx
7d7386:	75 df                	jne    0x7d7367
7d7388:	8b 74 24 14          	mov    0x14(%esp),%esi
7d738c:	8b 7c 24 34          	mov    0x34(%esp),%edi
7d7390:	8b 4c 24 24          	mov    0x24(%esp),%ecx
7d7394:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
7d7398:	8b 6c 24 44          	mov    0x44(%esp),%ebp
7d739c:	8b 54 24 2c          	mov    0x2c(%esp),%edx
7d73a0:	8d 9c 24 76 0f 00 00 	lea    0xf76(%esp),%ebx
7d73a7:	8b c2                	mov    %edx,%eax
7d73a9:	2b c3                	sub    %ebx,%eax
7d73ab:	8b 5c 24 50          	mov    0x50(%esp),%ebx
7d73af:	03 f8                	add    %eax,%edi
7d73b1:	03 c8                	add    %eax,%ecx
7d73b3:	8b 44 24 20          	mov    0x20(%esp),%eax
7d73b7:	85 c0                	test   %eax,%eax
7d73b9:	74 14                	je     0x7d73cf
7d73bb:	83 7c 24 18 08       	cmpl   $0x8,0x18(%esp)
7d73c0:	75 0d                	jne    0x7d73cf
7d73c2:	85 c9                	test   %ecx,%ecx
7d73c4:	7f 0d                	jg     0x7d73d3
7d73c6:	c6 02 30             	movb   $0x30,(%edx)
7d73c9:	4a                   	dec    %edx
7d73ca:	89 54 24 2c          	mov    %edx,0x2c(%esp)
7d73ce:	4f                   	dec    %edi
7d73cf:	85 c9                	test   %ecx,%ecx
7d73d1:	7e 0f                	jle    0x7d73e2
7d73d3:	2b f9                	sub    %ecx,%edi
7d73d5:	c6 02 30             	movb   $0x30,(%edx)
7d73d8:	49                   	dec    %ecx
7d73d9:	4a                   	dec    %edx
7d73da:	85 c9                	test   %ecx,%ecx
7d73dc:	7f f7                	jg     0x7d73d5
7d73de:	89 54 24 2c          	mov    %edx,0x2c(%esp)
7d73e2:	85 c0                	test   %eax,%eax
7d73e4:	74 0a                	je     0x7d73f0
7d73e6:	83 7c 24 18 10       	cmpl   $0x10,0x18(%esp)
7d73eb:	75 03                	jne    0x7d73f0
7d73ed:	83 ef 02             	sub    $0x2,%edi
7d73f0:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7d73f4:	8b 44 24 28          	mov    0x28(%esp),%eax
7d73f8:	85 c9                	test   %ecx,%ecx
7d73fa:	75 04                	jne    0x7d7400
7d73fc:	a8 03                	test   $0x3,%al
7d73fe:	74 01                	je     0x7d7401
7d7400:	4f                   	dec    %edi
7d7401:	a9 04 01 00 00       	test   $0x104,%eax
7d7406:	75 2c                	jne    0x7d7434
7d7408:	85 ff                	test   %edi,%edi
7d740a:	7e 27                	jle    0x7d7433
7d740c:	0f 1f 40 00          	nopl   0x0(%eax)
7d7410:	55                   	push   %ebp
7d7411:	6a 20                	push   $0x20
7d7413:	4f                   	dec    %edi
7d7414:	ff d3                	call   *%ebx
7d7416:	83 c4 08             	add    $0x8,%esp
7d7419:	83 f8 ff             	cmp    $0xffffffff,%eax
7d741c:	0f 84 f4 03 00 00    	je     0x7d7816
7d7422:	46                   	inc    %esi
7d7423:	89 74 24 14          	mov    %esi,0x14(%esp)
7d7427:	85 ff                	test   %edi,%edi
7d7429:	7f e5                	jg     0x7d7410
7d742b:	8b 44 24 28          	mov    0x28(%esp),%eax
7d742f:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
7d7433:	4f                   	dec    %edi
7d7434:	85 c9                	test   %ecx,%ecx
7d7436:	74 05                	je     0x7d743d
7d7438:	55                   	push   %ebp
7d7439:	6a 2d                	push   $0x2d
7d743b:	eb 10                	jmp    0x7d744d
7d743d:	a8 02                	test   $0x2,%al
7d743f:	74 05                	je     0x7d7446
7d7441:	55                   	push   %ebp
7d7442:	6a 2b                	push   $0x2b
7d7444:	eb 07                	jmp    0x7d744d
7d7446:	a8 01                	test   $0x1,%al
7d7448:	74 16                	je     0x7d7460
7d744a:	55                   	push   %ebp
7d744b:	6a 20                	push   $0x20
7d744d:	ff d3                	call   *%ebx
7d744f:	83 c4 08             	add    $0x8,%esp
7d7452:	83 f8 ff             	cmp    $0xffffffff,%eax
7d7455:	0f 84 bb 03 00 00    	je     0x7d7816
7d745b:	46                   	inc    %esi
7d745c:	89 74 24 14          	mov    %esi,0x14(%esp)
7d7460:	8b 54 24 20          	mov    0x20(%esp),%edx