41307a:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41307d:	89 45 e8             	mov    %eax,-0x18(%ebp)
413080:	8b f9                	mov    %ecx,%edi
413082:	89 5d bc             	mov    %ebx,-0x44(%ebp)
413085:	89 45 c0             	mov    %eax,-0x40(%ebp)
413088:	85 c0                	test   %eax,%eax
41308a:	75 05                	jne    0x413091
41308c:	83 fb ff             	cmp    $0xffffffff,%ebx
41308f:	76 2a                	jbe    0x4130bb
413091:	6a 00                	push   $0x0
413093:	ff 75 cc             	push   -0x34(%ebp)
413096:	83 c3 01             	add    $0x1,%ebx
413099:	83 d0 ff             	adc    $0xffffffff,%eax
41309c:	50                   	push   %eax
41309d:	53                   	push   %ebx
41309e:	e8 8d 40 ff ff       	call   0x407130
4130a3:	03 f8                	add    %eax,%edi
4130a5:	13 f2                	adc    %edx,%esi
4130a7:	83 cb ff             	or     $0xffffffff,%ebx
4130aa:	33 c0                	xor    %eax,%eax
4130ac:	89 75 d8             	mov    %esi,-0x28(%ebp)
4130af:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4130b2:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4130b5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4130b8:	89 45 c0             	mov    %eax,-0x40(%ebp)
4130bb:	85 f6                	test   %esi,%esi
4130bd:	77 50                	ja     0x41310f
4130bf:	72 05                	jb     0x4130c6
4130c1:	83 ff ff             	cmp    $0xffffffff,%edi
4130c4:	77 49                	ja     0x41310f
4130c6:	50                   	push   %eax
4130c7:	53                   	push   %ebx
4130c8:	33 c9                	xor    %ecx,%ecx
4130ca:	8b f7                	mov    %edi,%esi
4130cc:	0b 4d ec             	or     -0x14(%ebp),%ecx
4130cf:	6a 00                	push   $0x0
4130d1:	ff 75 e0             	push   -0x20(%ebp)
4130d4:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4130d7:	e8 54 40 ff ff       	call   0x407130
4130dc:	3b d6                	cmp    %esi,%edx
4130de:	72 29                	jb     0x413109
4130e0:	77 05                	ja     0x4130e7
4130e2:	3b 45 fc             	cmp    -0x4(%ebp),%eax
4130e5:	76 22                	jbe    0x413109
4130e7:	8b 45 e8             	mov    -0x18(%ebp),%eax
4130ea:	83 c3 ff             	add    $0xffffffff,%ebx
4130ed:	89 5d bc             	mov    %ebx,-0x44(%ebp)
4130f0:	83 d0 ff             	adc    $0xffffffff,%eax
4130f3:	03 7d cc             	add    -0x34(%ebp),%edi
4130f6:	89 45 e8             	mov    %eax,-0x18(%ebp)
4130f9:	83 55 d8 00          	adcl   $0x0,-0x28(%ebp)
4130fd:	89 45 c0             	mov    %eax,-0x40(%ebp)
413100:	75 0a                	jne    0x41310c
413102:	83 ff ff             	cmp    $0xffffffff,%edi
413105:	76 bf                	jbe    0x4130c6
413107:	eb 03                	jmp    0x41310c
413109:	8b 45 e8             	mov    -0x18(%ebp),%eax
41310c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
41310f:	85 c0                	test   %eax,%eax
413111:	75 08                	jne    0x41311b
413113:	85 db                	test   %ebx,%ebx
413115:	0f 84 b4 00 00 00    	je     0x4131cf
41311b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41311e:	33 ff                	xor    %edi,%edi
413120:	33 f6                	xor    %esi,%esi
413122:	85 c9                	test   %ecx,%ecx
413124:	74 55                	je     0x41317b
413126:	8b 45 0c             	mov    0xc(%ebp),%eax
413129:	8b 5d f0             	mov    -0x10(%ebp),%ebx
41312c:	83 c0 04             	add    $0x4,%eax
41312f:	89 45 ec             	mov    %eax,-0x14(%ebp)
413132:	89 4d f4             	mov    %ecx,-0xc(%ebp)
413135:	8b 00                	mov    (%eax),%eax
413137:	89 45 d8             	mov    %eax,-0x28(%ebp)
41313a:	8b 45 c0             	mov    -0x40(%ebp),%eax
41313d:	f7 65 d8             	mull   -0x28(%ebp)
413140:	8b c8                	mov    %eax,%ecx
413142:	8b 45 bc             	mov    -0x44(%ebp),%eax
413145:	f7 65 d8             	mull   -0x28(%ebp)
413148:	03 d1                	add    %ecx,%edx
41314a:	03 f8                	add    %eax,%edi
41314c:	8b 03                	mov    (%ebx),%eax
41314e:	8b cf                	mov    %edi,%ecx
413150:	13 f2                	adc    %edx,%esi
413152:	8b fe                	mov    %esi,%edi
413154:	33 f6                	xor    %esi,%esi
413156:	3b c1                	cmp    %ecx,%eax
413158:	73 05                	jae    0x41315f
41315a:	83 c7 01             	add    $0x1,%edi
41315d:	13 f6                	adc    %esi,%esi
41315f:	2b c1                	sub    %ecx,%eax
413161:	89 03                	mov    %eax,(%ebx)
413163:	83 c3 04             	add    $0x4,%ebx
413166:	8b 45 ec             	mov    -0x14(%ebp),%eax
413169:	83 c0 04             	add    $0x4,%eax
41316c:	83 6d f4 01          	subl   $0x1,-0xc(%ebp)
413170:	89 45 ec             	mov    %eax,-0x14(%ebp)
413173:	75 c0                	jne    0x413135
413175:	8b 5d fc             	mov    -0x4(%ebp),%ebx
413178:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41317b:	33 c0                	xor    %eax,%eax
41317d:	3b c6                	cmp    %esi,%eax
41317f:	77 47                	ja     0x4131c8
413181:	72 05                	jb     0x413188
413183:	39 7d d0             	cmp    %edi,-0x30(%ebp)
413186:	73 40                	jae    0x4131c8
413188:	85 c9                	test   %ecx,%ecx
41318a:	74 35                	je     0x4131c1
41318c:	8b 75 0c             	mov    0xc(%ebp),%esi
41318f:	8b f9                	mov    %ecx,%edi
413191:	8b 55 f0             	mov    -0x10(%ebp),%edx
413194:	83 c6 04             	add    $0x4,%esi
413197:	8b d8                	mov    %eax,%ebx
413199:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4131a0:	8b 0a                	mov    (%edx),%ecx
4131a2:	8d 76 04             	lea    0x4(%esi),%esi
4131a5:	33 c0                	xor    %eax,%eax
4131a7:	8d 52 04             	lea    0x4(%edx),%edx
4131aa:	03 4e fc             	add    -0x4(%esi),%ecx
4131ad:	13 c0                	adc    %eax,%eax
4131af:	03 cb                	add    %ebx,%ecx
4131b1:	89 4a fc             	mov    %ecx,-0x4(%edx)
4131b4:	83 d0 00             	adc    $0x0,%eax
4131b7:	8b d8                	mov    %eax,%ebx
4131b9:	83 ef 01             	sub    $0x1,%edi
4131bc:	75 e2                	jne    0x4131a0
4131be:	8b 5d fc             	mov    -0x4(%ebp),%ebx
4131c1:	83 c3 ff             	add    $0xffffffff,%ebx
4131c4:	83 55 e8 ff          	adcl   $0xffffffff,-0x18(%ebp)
4131c8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4131cb:	48                   	dec    %eax
4131cc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4131cf:	8b 75 b8             	mov    -0x48(%ebp),%esi
4131d2:	33 c0                	xor    %eax,%eax
4131d4:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4131d7:	03 c3                	add    %ebx,%eax
4131d9:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
4131dc:	8b f8                	mov    %eax,%edi
4131de:	8b 45 f8             	mov    -0x8(%ebp),%eax
4131e1:	83 d6 00             	adc    $0x0,%esi
4131e4:	83 6d f0 04          	subl   $0x4,-0x10(%ebp)
4131e8:	4a                   	dec    %edx
4131e9:	8b 5d 08             	mov    0x8(%ebp),%ebx
4131ec:	83 e9 04             	sub    $0x4,%ecx
4131ef:	48                   	dec    %eax
4131f0:	89 7d b8             	mov    %edi,-0x48(%ebp)
4131f3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4131f6:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
4131f9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4131fc:	85 d2                	test   %edx,%edx
4131fe:	0f 89 ee fd ff ff    	jns    0x412ff2
413204:	eb 02                	jmp    0x413208
413206:	33 ff                	xor    %edi,%edi
413208:	8b 55 f4             	mov    -0xc(%ebp),%edx
41320b:	42                   	inc    %edx
41320c:	8b c2                	mov    %edx,%eax
41320e:	3b 03                	cmp    (%ebx),%eax
413210:	73 1c                	jae    0x41322e
413212:	8d 48 01             	lea    0x1(%eax),%ecx
413215:	8d 0c 8b             	lea    (%ebx,%ecx,4),%ecx
413218:	eb 06                	jmp    0x413220
41321a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
413220:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
413226:	8d 49 04             	lea    0x4(%ecx),%ecx
413229:	40                   	inc    %eax
41322a:	3b 03                	cmp    (%ebx),%eax
41322c:	72 f2                	jb     0x413220
41322e:	89 13                	mov    %edx,(%ebx)
413230:	85 d2                	test   %edx,%edx
413232:	74 0f                	je     0x413243
413234:	8b 0b                	mov    (%ebx),%ecx
413236:	83 3c 8b 00          	cmpl   $0x0,(%ebx,%ecx,4)
41323a:	75 07                	jne    0x413243
41323c:	83 c1 ff             	add    $0xffffffff,%ecx
41323f:	89 0b                	mov    %ecx,(%ebx)
413241:	75 f1                	jne    0x413234
413243:	8b d6                	mov    %esi,%edx
413245:	8b c7                	mov    %edi,%eax
413247:	5e                   	pop    %esi
413248:	5f                   	pop    %edi
413249:	5b                   	pop    %ebx
41324a:	8b e5                	mov    %ebp,%esp
41324c:	5d                   	pop    %ebp
41324d:	c3                   	ret
41324e:	83 41 10 01          	addl   $0x1,0x10(%ecx)
413252:	8b 51 08             	mov    0x8(%ecx),%edx
413255:	8b c2                	mov    %edx,%eax
413257:	83 51 14 00          	adcl   $0x0,0x14(%ecx)
41325b:	56                   	push   %esi
41325c:	8b 71 0c             	mov    0xc(%ecx),%esi
41325f:	0b c6                	or     %esi,%eax
413261:	74 10                	je     0x413273
413263:	39 71 14             	cmp    %esi,0x14(%ecx)
413266:	72 0b                	jb     0x413273
413268:	77 05                	ja     0x41326f
41326a:	39 51 10             	cmp    %edx,0x10(%ecx)
41326d:	76 04                	jbe    0x413273
41326f:	32 c0                	xor    %al,%al
413271:	5e                   	pop    %esi
413272:	c3                   	ret
413273:	8b 09                	mov    (%ecx),%ecx
413275:	e8 0e 00 00 00       	call   0x413288
41327a:	8b c8                	mov    %eax,%ecx
41327c:	83 f9 ff             	cmp    $0xffffffff,%ecx
41327f:	5e                   	pop    %esi
413280:	0f 94 c0             	sete   %al
413283:	fe c8                	dec    %al
413285:	22 c1                	and    %cl,%al
413287:	c3                   	ret
413288:	8b d1                	mov    %ecx,%edx
41328a:	8b 4a 08             	mov    0x8(%edx),%ecx
41328d:	3b 4a 04             	cmp    0x4(%edx),%ecx
413290:	75 04                	jne    0x413296
413292:	83 c8 ff             	or     $0xffffffff,%eax
413295:	c3                   	ret
413296:	0f be 01             	movsbl (%ecx),%eax
413299:	41                   	inc    %ecx
41329a:	89 4a 08             	mov    %ecx,0x8(%edx)
41329d:	c3                   	ret
41329e:	8d 51 20             	lea    0x20(%ecx),%edx
4132a1:	8b c2                	mov    %edx,%eax
4132a3:	56                   	push   %esi
4132a4:	33 f6                	xor    %esi,%esi
4132a6:	2b c1                	sub    %ecx,%eax
4132a8:	3b d1                	cmp    %ecx,%edx
4132aa:	1b d2                	sbb    %edx,%edx
4132ac:	f7 d2                	not    %edx
4132ae:	23 d0                	and    %eax,%edx
4132b0:	74 08                	je     0x4132ba
4132b2:	f6 11                	notb   (%ecx)
4132b4:	41                   	inc    %ecx
4132b5:	46                   	inc    %esi
4132b6:	3b f2                	cmp    %edx,%esi
4132b8:	75 f8                	jne    0x4132b2
4132ba:	5e                   	pop    %esi
4132bb:	c3                   	ret
4132bc:	8b ff                	mov    %edi,%edi
4132be:	55                   	push   %ebp
4132bf:	8b ec                	mov    %esp,%ebp
4132c1:	8b 55 0c             	mov    0xc(%ebp),%edx
4132c4:	83 fa ff             	cmp    $0xffffffff,%edx
4132c7:	75 04                	jne    0x4132cd
4132c9:	32 c0                	xor    %al,%al
4132cb:	eb 31                	jmp    0x4132fe
4132cd:	8b 45 08             	mov    0x8(%ebp),%eax
4132d0:	83 e8 00             	sub    $0x0,%eax
4132d3:	74 27                	je     0x4132fc
4132d5:	83 e8 01             	sub    $0x1,%eax
4132d8:	74 12                	je     0x4132ec
4132da:	83 e8 07             	sub    $0x7,%eax
4132dd:	75 ea                	jne    0x4132c9
4132df:	52                   	push   %edx
4132e0:	83 c1 44             	add    $0x44,%ecx
4132e3:	e8 56 08 00 00       	call   0x413b3e
4132e8:	84 c0                	test   %al,%al
4132ea:	eb 0b                	jmp    0x4132f7
4132ec:	8d 42 f7             	lea    -0x9(%edx),%eax
4132ef:	83 f8 04             	cmp    $0x4,%eax
4132f2:	76 d5                	jbe    0x4132c9
4132f4:	83 fa 20             	cmp    $0x20,%edx
4132f7:	0f 95 c0             	setne  %al
4132fa:	eb 02                	jmp    0x4132fe
4132fc:	b0 01                	mov    $0x1,%al
4132fe:	5d                   	pop    %ebp
4132ff:	c2 08 00             	ret    $0x8
413302:	8b 41 28             	mov    0x28(%ecx),%eax
413305:	85 c0                	test   %eax,%eax
413307:	78 19                	js     0x413322
413309:	83 f8 01             	cmp    $0x1,%eax
41330c:	7e 2b                	jle    0x413339
41330e:	83 f8 06             	cmp    $0x6,%eax
413311:	7e 1c                	jle    0x41332f
413313:	83 f8 07             	cmp    $0x7,%eax
413316:	74 0d                	je     0x413325
413318:	83 f8 08             	cmp    $0x8,%eax
41331b:	74 1c                	je     0x413339
41331d:	83 f8 09             	cmp    $0x9,%eax
413320:	74 0d                	je     0x41332f
413322:	33 c0                	xor    %eax,%eax
413324:	c3                   	ret
413325:	ff 71 20             	push   0x20(%ecx)
413328:	e8 42 08 00 00       	call   0x413b6f
41332d:	eb 08                	jmp    0x413337
41332f:	ff 71 20             	push   0x20(%ecx)
413332:	e8 5b 08 00 00       	call   0x413b92
413337:	59                   	pop    %ecx
413338:	c3                   	ret
413339:	33 c0                	xor    %eax,%eax
41333b:	38 41 24             	cmp    %al,0x24(%ecx)
41333e:	0f 95 c0             	setne  %al
413341:	40                   	inc    %eax
413342:	c3                   	ret
413343:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
413347:	74 09                	je     0x413352
413349:	83 c8 ff             	or     $0xffffffff,%eax
41334c:	ba ff ff 1f 00       	mov    $0x1fffff,%edx
413351:	c3                   	ret
413352:	b8 ff ff ff 00       	mov    $0xffffff,%eax
413357:	33 d2                	xor    %edx,%edx
413359:	c3                   	ret
41335a:	8b ff                	mov    %edi,%edi
41335c:	53                   	push   %ebx
41335d:	56                   	push   %esi
41335e:	8b f1                	mov    %ecx,%esi
413360:	8d 5e 08             	lea    0x8(%esi),%ebx
413363:	8b cb                	mov    %ebx,%ecx
413365:	e8 1d 09 00 00       	call   0x413c87
41336a:	84 c0                	test   %al,%al
41336c:	75 05                	jne    0x413373
41336e:	83 c8 ff             	or     $0xffffffff,%eax
413371:	eb 69                	jmp    0x4133dc
413373:	57                   	push   %edi
413374:	8d 7e 18             	lea    0x18(%esi),%edi
413377:	8b cf                	mov    %edi,%ecx
413379:	e8 cc 08 00 00       	call   0x413c4a
41337e:	84 c0                	test   %al,%al
413380:	75 10                	jne    0x413392
413382:	83 c8 ff             	or     $0xffffffff,%eax
413385:	eb 54                	jmp    0x4133db
413387:	8b ce                	mov    %esi,%ecx
413389:	e8 01 02 00 00       	call   0x41358f
41338e:	84 c0                	test   %al,%al
413390:	74 0b                	je     0x41339d
413392:	8b cf                	mov    %edi,%ecx
413394:	e8 cb d4 ff ff       	call   0x410864
413399:	84 c0                	test   %al,%al
41339b:	75 ea                	jne    0x413387
41339d:	83 7e 74 00          	cmpl   $0x0,0x74(%esi)
4133a1:	8b 7e 70             	mov    0x70(%esi),%edi
4133a4:	75 16                	jne    0x4133bc
4133a6:	8b cb                	mov    %ebx,%ecx
4133a8:	e8 db fe ff ff       	call   0x413288
4133ad:	83 f8 ff             	cmp    $0xffffffff,%eax
4133b0:	75 02                	jne    0x4133b4
4133b2:	0b f8                	or     %eax,%edi
4133b4:	50                   	push   %eax
4133b5:	8b cb                	mov    %ebx,%ecx
4133b7:	e8 6f 08 00 00       	call   0x413c2b
4133bc:	8b 06                	mov    (%esi),%eax
4133be:	83 e0 01             	and    $0x1,%eax
4133c1:	83 c8 00             	or     $0x0,%eax
4133c4:	74 13                	je     0x4133d9
4133c6:	8b 76 24             	mov    0x24(%esi),%esi
4133c9:	85 f6                	test   %esi,%esi
4133cb:	74 0c                	je     0x4133d9
4133cd:	e8 99 16 00 00       	call   0x414a6b
4133d2:	89 30                	mov    %esi,(%eax)
4133d4:	e8 09 89 ff ff       	call   0x40bce2
4133d9:	8b c7                	mov    %edi,%eax
4133db:	5f                   	pop    %edi