431228:	85 c9                	test   %ecx,%ecx
43122a:	0f 8f 51 ff ff ff    	jg     0x431181
431230:	eb 03                	jmp    0x431235
431232:	8b 75 08             	mov    0x8(%ebp),%esi
431235:	3b 5f 08             	cmp    0x8(%edi),%ebx
431238:	0f 8c 11 01 00 00    	jl     0x43134f
43123e:	8b ff                	mov    %edi,%edi
431240:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
431243:	8b c8                	mov    %eax,%ecx
431245:	2b 4f 04             	sub    0x4(%edi),%ecx
431248:	3b 4f 08             	cmp    0x8(%edi),%ecx
43124b:	0f 8c fe 00 00 00    	jl     0x43134f
431251:	8b c8                	mov    %eax,%ecx
431253:	2b 4f 04             	sub    0x4(%edi),%ecx
431256:	49                   	dec    %ecx
431257:	3b 4f 08             	cmp    0x8(%edi),%ecx
43125a:	7c 73                	jl     0x4312cf
43125c:	8b 0f                	mov    (%edi),%ecx
43125e:	8b d0                	mov    %eax,%edx
431260:	2b 57 04             	sub    0x4(%edi),%edx
431263:	8b 34 91             	mov    (%ecx,%edx,4),%esi
431266:	8b d0                	mov    %eax,%edx
431268:	2b 57 04             	sub    0x4(%edi),%edx
43126b:	8b 0f                	mov    (%edi),%ecx
43126d:	89 75 ec             	mov    %esi,-0x14(%ebp)
431270:	8b 7c 91 fc          	mov    -0x4(%ecx,%edx,4),%edi
431274:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
43127a:	89 7d f0             	mov    %edi,-0x10(%ebp)
43127d:	8b 51 20             	mov    0x20(%ecx),%edx
431280:	8b 71 24             	mov    0x24(%ecx),%esi
431283:	8b 8f 80 00 00 00    	mov    0x80(%edi),%ecx
431289:	8b 79 20             	mov    0x20(%ecx),%edi
43128c:	8b 49 24             	mov    0x24(%ecx),%ecx
43128f:	89 4d f4             	mov    %ecx,-0xc(%ebp)
431292:	8b cf                	mov    %edi,%ecx
431294:	2b ca                	sub    %edx,%ecx
431296:	89 7d fc             	mov    %edi,-0x4(%ebp)
431299:	8b 55 f4             	mov    -0xc(%ebp),%edx
43129c:	8b 7d f8             	mov    -0x8(%ebp),%edi
43129f:	1b d6                	sbb    %esi,%edx
4312a1:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4312a4:	0b ca                	or     %edx,%ecx
4312a6:	74 05                	je     0x4312ad
4312a8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4312ab:	eb 12                	jmp    0x4312bf
4312ad:	8b 55 f0             	mov    -0x10(%ebp),%edx
4312b0:	8b 75 ec             	mov    -0x14(%ebp),%esi
4312b3:	8b 4a 70             	mov    0x70(%edx),%ecx
4312b6:	2b 4e 70             	sub    0x70(%esi),%ecx
4312b9:	8b 52 74             	mov    0x74(%edx),%edx
4312bc:	1b 56 74             	sbb    0x74(%esi),%edx
4312bf:	85 d2                	test   %edx,%edx
4312c1:	7f 0c                	jg     0x4312cf
4312c3:	7c 04                	jl     0x4312c9
4312c5:	85 c9                	test   %ecx,%ecx
4312c7:	73 06                	jae    0x4312cf
4312c9:	2b 47 04             	sub    0x4(%edi),%eax
4312cc:	48                   	dec    %eax
4312cd:	eb 03                	jmp    0x4312d2
4312cf:	2b 47 04             	sub    0x4(%edi),%eax
4312d2:	8b 0f                	mov    (%edi),%ecx
4312d4:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
4312d7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4312da:	8b 89 80 00 00 00    	mov    0x80(%ecx),%ecx
4312e0:	8b 71 24             	mov    0x24(%ecx),%esi
4312e3:	8b 51 20             	mov    0x20(%ecx),%edx
4312e6:	8b 4d 08             	mov    0x8(%ebp),%ecx
4312e9:	8b 89 80 00 00 00    	mov    0x80(%ecx),%ecx
4312ef:	8b 79 20             	mov    0x20(%ecx),%edi
4312f2:	8b 49 24             	mov    0x24(%ecx),%ecx
4312f5:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4312f8:	8b cf                	mov    %edi,%ecx
4312fa:	8b 7d f8             	mov    -0x8(%ebp),%edi
4312fd:	2b ca                	sub    %edx,%ecx
4312ff:	8b 55 ec             	mov    -0x14(%ebp),%edx
431302:	1b d6                	sbb    %esi,%edx
431304:	89 4d fc             	mov    %ecx,-0x4(%ebp)
431307:	0b ca                	or     %edx,%ecx
431309:	8b 75 08             	mov    0x8(%ebp),%esi
43130c:	74 05                	je     0x431313
43130e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
431311:	eb 15                	jmp    0x431328
431313:	8b 55 f4             	mov    -0xc(%ebp),%edx
431316:	8b 4e 70             	mov    0x70(%esi),%ecx
431319:	2b 4a 70             	sub    0x70(%edx),%ecx
43131c:	8b 56 74             	mov    0x74(%esi),%edx
43131f:	8b 75 f4             	mov    -0xc(%ebp),%esi
431322:	1b 56 74             	sbb    0x74(%esi),%edx
431325:	8b 75 08             	mov    0x8(%ebp),%esi
431328:	85 d2                	test   %edx,%edx
43132a:	7c 23                	jl     0x43134f
43132c:	7f 04                	jg     0x431332
43132e:	85 c9                	test   %ecx,%ecx
431330:	72 1d                	jb     0x43134f
431332:	8b 0f                	mov    (%edi),%ecx
431334:	8b 14 81             	mov    (%ecx,%eax,4),%edx
431337:	8b 0f                	mov    (%edi),%ecx
431339:	89 14 99             	mov    %edx,(%ecx,%ebx,4)
43133c:	8b 0f                	mov    (%edi),%ecx
43133e:	8b 0c 99             	mov    (%ecx,%ebx,4),%ecx
431341:	89 59 20             	mov    %ebx,0x20(%ecx)
431344:	8b d8                	mov    %eax,%ebx
431346:	3b 47 08             	cmp    0x8(%edi),%eax
431349:	0f 8d f1 fe ff ff    	jge    0x431240
43134f:	8b 07                	mov    (%edi),%eax
431351:	5f                   	pop    %edi
431352:	89 34 98             	mov    %esi,(%eax,%ebx,4)
431355:	89 5e 20             	mov    %ebx,0x20(%esi)
431358:	5e                   	pop    %esi
431359:	5b                   	pop    %ebx
43135a:	8b e5                	mov    %ebp,%esp
43135c:	5d                   	pop    %ebp
43135d:	c2 04 00             	ret    $0x4
431360:	8b ff                	mov    %edi,%edi
431362:	55                   	push   %ebp
431363:	8b ec                	mov    %esp,%ebp
431365:	83 ec 50             	sub    $0x50,%esp
431368:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43136d:	33 c5                	xor    %ebp,%eax
43136f:	89 45 f8             	mov    %eax,-0x8(%ebp)
431372:	8b 45 10             	mov    0x10(%ebp),%eax
431375:	53                   	push   %ebx
431376:	8b 5d 08             	mov    0x8(%ebp),%ebx
431379:	89 45 bc             	mov    %eax,-0x44(%ebp)
43137c:	89 18                	mov    %ebx,(%eax)
43137e:	56                   	push   %esi
43137f:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
431385:	57                   	push   %edi
431386:	8b f9                	mov    %ecx,%edi
431388:	83 7f 10 00          	cmpl   $0x0,0x10(%edi)
43138c:	8d 77 10             	lea    0x10(%edi),%esi
43138f:	8b 48 20             	mov    0x20(%eax),%ecx
431392:	8b 40 24             	mov    0x24(%eax),%eax
431395:	89 45 c4             	mov    %eax,-0x3c(%ebp)
431398:	89 45 d8             	mov    %eax,-0x28(%ebp)
43139b:	8b 43 70             	mov    0x70(%ebx),%eax
43139e:	89 45 c0             	mov    %eax,-0x40(%ebp)
4313a1:	89 45 dc             	mov    %eax,-0x24(%ebp)
4313a4:	8b 43 74             	mov    0x74(%ebx),%eax
4313a7:	89 4d c8             	mov    %ecx,-0x38(%ebp)
4313aa:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
4313ad:	89 45 d0             	mov    %eax,-0x30(%ebp)
4313b0:	89 45 e0             	mov    %eax,-0x20(%ebp)
4313b3:	75 0b                	jne    0x4313c0
4313b5:	e8 d6 c1 ff ff       	call   0x42d590
4313ba:	89 47 08             	mov    %eax,0x8(%edi)
4313bd:	89 57 0c             	mov    %edx,0xc(%edi)
4313c0:	a1 88 28 41 00       	mov    0x412888,%eax
4313c5:	8b ce                	mov    %esi,%ecx
4313c7:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4313ca:	a1 8c 28 41 00       	mov    0x41288c,%eax
4313cf:	89 45 e8             	mov    %eax,-0x18(%ebp)
4313d2:	a1 90 28 41 00       	mov    0x412890,%eax
4313d7:	89 45 ec             	mov    %eax,-0x14(%ebp)
4313da:	a1 94 28 41 00       	mov    0x412894,%eax
4313df:	89 45 f0             	mov    %eax,-0x10(%ebp)
4313e2:	8d 45 cc             	lea    -0x34(%ebp),%eax
4313e5:	50                   	push   %eax
4313e6:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4313e9:	c7 45 cc 00 00 00 00 	movl   $0x0,-0x34(%ebp)
4313f0:	50                   	push   %eax
4313f1:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4313f4:	50                   	push   %eax
4313f5:	e8 a6 67 00 00       	call   0x437ba0
4313fa:	85 c0                	test   %eax,%eax
4313fc:	0f 85 8b 02 00 00    	jne    0x43168d
431402:	8b 75 cc             	mov    -0x34(%ebp),%esi
431405:	8d 4d b0             	lea    -0x50(%ebp),%ecx
431408:	56                   	push   %esi
431409:	89 45 b0             	mov    %eax,-0x50(%ebp)
43140c:	89 45 b4             	mov    %eax,-0x4c(%ebp)
43140f:	89 45 b8             	mov    %eax,-0x48(%ebp)
431412:	e8 69 14 00 00       	call   0x432880
431417:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
43141d:	8b 4d c8             	mov    -0x38(%ebp),%ecx
431420:	3b 48 20             	cmp    0x20(%eax),%ecx
431423:	75 36                	jne    0x43145b
431425:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
431428:	3b 48 24             	cmp    0x24(%eax),%ecx
43142b:	75 2e                	jne    0x43145b
43142d:	8b 45 c0             	mov    -0x40(%ebp),%eax
431430:	3b 46 70             	cmp    0x70(%esi),%eax
431433:	75 26                	jne    0x43145b
431435:	8b 45 d0             	mov    -0x30(%ebp),%eax
431438:	3b 46 74             	cmp    0x74(%esi),%eax
43143b:	75 1e                	jne    0x43145b
43143d:	8b 45 bc             	mov    -0x44(%ebp),%eax
431440:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
431446:	33 c0                	xor    %eax,%eax
431448:	5f                   	pop    %edi
431449:	5e                   	pop    %esi
43144a:	5b                   	pop    %ebx
43144b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
43144e:	33 cd                	xor    %ebp,%ecx
431450:	e8 fb ba 01 00       	call   0x44cf50
431455:	8b e5                	mov    %ebp,%esp
431457:	5d                   	pop    %ebp
431458:	c2 0c 00             	ret    $0xc
43145b:	53                   	push   %ebx
43145c:	8d 4d b0             	lea    -0x50(%ebp),%ecx
43145f:	e8 1c 14 00 00       	call   0x432880
431464:	84 c0                	test   %al,%al
431466:	0f 84 1e 02 00 00    	je     0x43168a
43146c:	33 db                	xor    %ebx,%ebx
43146e:	8d 45 b0             	lea    -0x50(%ebp),%eax
431471:	87 18                	xchg   %ebx,(%eax)
431473:	c7 45 b4 00 00 00 00 	movl   $0x0,-0x4c(%ebp)
43147a:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
431481:	3b de                	cmp    %esi,%ebx
431483:	0f 84 e1 01 00 00    	je     0x43166a
431489:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
43148f:	8b 45 e4             	mov    -0x1c(%ebp),%eax
431492:	3b 41 20             	cmp    0x20(%ecx),%eax
431495:	75 08                	jne    0x43149f
431497:	8b 45 e8             	mov    -0x18(%ebp),%eax
43149a:	3b 41 24             	cmp    0x24(%ecx),%eax
43149d:	74 3b                	je     0x4314da
43149f:	e8 8c 8c ff ff       	call   0x42a130
4314a4:	85 c0                	test   %eax,%eax
4314a6:	74 03                	je     0x4314ab
4314a8:	ff 40 18             	incl   0x18(%eax)
4314ab:	68 45 0f 00 00       	push   $0xf45
4314b0:	68 60 19 41 00       	push   $0x411960
4314b5:	68 84 22 41 00       	push   $0x412284
4314ba:	68 50 0d 41 00       	push   $0x410d50
4314bf:	68 08 0d 41 00       	push   $0x410d08
4314c4:	e8 07 97 ff ff       	call   0x42abd0
4314c9:	83 c4 0c             	add    $0xc,%esp
4314cc:	50                   	push   %eax
4314cd:	e8 be 6d ff ff       	call   0x428290
4314d2:	83 c4 0c             	add    $0xc,%esp
4314d5:	e8 46 95 ff ff       	call   0x42aa20
4314da:	8b 45 ec             	mov    -0x14(%ebp),%eax
4314dd:	3b 46 70             	cmp    0x70(%esi),%eax
4314e0:	75 08                	jne    0x4314ea
4314e2:	8b 45 f0             	mov    -0x10(%ebp),%eax
4314e5:	3b 46 74             	cmp    0x74(%esi),%eax
4314e8:	74 3b                	je     0x431525
4314ea:	e8 41 8c ff ff       	call   0x42a130
4314ef:	85 c0                	test   %eax,%eax
4314f1:	74 03                	je     0x4314f6
4314f3:	ff 40 18             	incl   0x18(%eax)
4314f6:	68 46 0f 00 00       	push   $0xf46
4314fb:	68 60 19 41 00       	push   $0x411960
431500:	68 a0 22 41 00       	push   $0x4122a0
431505:	68 50 0d 41 00       	push   $0x410d50
43150a:	68 08 0d 41 00       	push   $0x410d08
43150f:	e8 bc 96 ff ff       	call   0x42abd0
431514:	83 c4 0c             	add    $0xc,%esp
431517:	50                   	push   %eax
431518:	e8 73 6d ff ff       	call   0x428290
43151d:	83 c4 0c             	add    $0xc,%esp
431520:	e8 fb 94 ff ff       	call   0x42aa20
431525:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
43152b:	8b 4d c8             	mov    -0x38(%ebp),%ecx
43152e:	3b 48 20             	cmp    0x20(%eax),%ecx
431531:	75 08                	jne    0x43153b
431533:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
431536:	3b 48 24             	cmp    0x24(%eax),%ecx
431539:	74 3b                	je     0x431576
43153b:	e8 f0 8b ff ff       	call   0x42a130
431540:	85 c0                	test   %eax,%eax
431542:	74 03                	je     0x431547
431544:	ff 40 18             	incl   0x18(%eax)
431547:	68 47 0f 00 00       	push   $0xf47
43154c:	68 60 19 41 00       	push   $0x411960
431551:	68 bc 22 41 00       	push   $0x4122bc
431556:	68 50 0d 41 00       	push   $0x410d50
43155b:	68 08 0d 41 00       	push   $0x410d08
431560:	e8 6b 96 ff ff       	call   0x42abd0
431565:	83 c4 0c             	add    $0xc,%esp
431568:	50                   	push   %eax
431569:	e8 22 6d ff ff       	call   0x428290
43156e:	83 c4 0c             	add    $0xc,%esp
431571:	e8 aa 94 ff ff       	call   0x42aa20
431576:	8b 45 c0             	mov    -0x40(%ebp),%eax
431579:	3b 43 70             	cmp    0x70(%ebx),%eax
43157c:	75 08                	jne    0x431586
43157e:	8b 45 d0             	mov    -0x30(%ebp),%eax
431581:	3b 43 74             	cmp    0x74(%ebx),%eax
431584:	74 3b                	je     0x4315c1
431586:	e8 a5 8b ff ff       	call   0x42a130
43158b:	85 c0                	test   %eax,%eax
43158d:	74 03                	je     0x431592
43158f:	ff 40 18             	incl   0x18(%eax)
431592:	68 48 0f 00 00       	push   $0xf48
431597:	68 60 19 41 00       	push   $0x411960
43159c:	68 e8 22 41 00       	push   $0x4122e8
4315a1:	68 50 0d 41 00       	push   $0x410d50
4315a6:	68 08 0d 41 00       	push   $0x410d08
4315ab:	e8 20 96 ff ff       	call   0x42abd0
4315b0:	83 c4 0c             	add    $0xc,%esp
4315b3:	50                   	push   %eax
4315b4:	e8 d7 6c ff ff       	call   0x428290
4315b9:	83 c4 0c             	add    $0xc,%esp
4315bc:	e8 5f 94 ff ff       	call   0x42aa20
4315c1:	51                   	push   %ecx
4315c2:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4315c5:	50                   	push   %eax
4315c6:	8d 4f 10             	lea    0x10(%edi),%ecx
4315c9:	e8 92 66 00 00       	call   0x437c60
4315ce:	8b f0                	mov    %eax,%esi
4315d0:	8d 8b a0 00 00 00    	lea    0xa0(%ebx),%ecx
4315d6:	8d 47 10             	lea    0x10(%edi),%eax
4315d9:	50                   	push   %eax
4315da:	51                   	push   %ecx
4315db:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4315de:	51                   	push   %ecx
4315df:	8b c8                	mov    %eax,%ecx
4315e1:	e8 4a 67 00 00       	call   0x437d30
4315e6:	89 45 d0             	mov    %eax,-0x30(%ebp)
4315e9:	85 f6                	test   %esi,%esi
4315eb:	74 3e                	je     0x43162b
4315ed:	e8 3e 8b ff ff       	call   0x42a130
4315f2:	85 c0                	test   %eax,%eax
4315f4:	74 03                	je     0x4315f9
4315f6:	ff 40 18             	incl   0x18(%eax)
4315f9:	68 4d 0f 00 00       	push   $0xf4d
4315fe:	68 60 19 41 00       	push   $0x411960
431603:	68 14 23 41 00       	push   $0x412314
431608:	68 50 0d 41 00       	push   $0x410d50
43160d:	68 08 0d 41 00       	push   $0x410d08
431612:	e8 b9 95 ff ff       	call   0x42abd0
431617:	83 c4 0c             	add    $0xc,%esp
43161a:	50                   	push   %eax
43161b:	e8 70 6c ff ff       	call   0x428290
431620:	83 c4 0c             	add    $0xc,%esp
431623:	e8 f8 93 ff ff       	call   0x42aa20
431628:	8b 45 d0             	mov    -0x30(%ebp),%eax
43162b:	85 c0                	test   %eax,%eax
43162d:	74 3b                	je     0x43166a
43162f:	e8 fc 8a ff ff       	call   0x42a130
431634:	85 c0                	test   %eax,%eax
431636:	74 03                	je     0x43163b
431638:	ff 40 18             	incl   0x18(%eax)
43163b:	68 4e 0f 00 00       	push   $0xf4e
431640:	68 60 19 41 00       	push   $0x411960
431645:	68 30 23 41 00       	push   $0x412330
43164a:	68 50 0d 41 00       	push   $0x410d50
43164f:	68 08 0d 41 00       	push   $0x410d08
431654:	e8 77 95 ff ff       	call   0x42abd0
431659:	83 c4 0c             	add    $0xc,%esp
43165c:	50                   	push   %eax
43165d:	e8 2e 6c ff ff       	call   0x428290
431662:	83 c4 0c             	add    $0xc,%esp
431665:	e8 b6 93 ff ff       	call   0x42aa20
43166a:	8b 45 0c             	mov    0xc(%ebp),%eax
43166d:	01 47 04             	add    %eax,0x4(%edi)
431670:	8b 45 bc             	mov    -0x44(%ebp),%eax
431673:	89 18                	mov    %ebx,(%eax)