4033da:	5e                   	pop    %esi
4033db:	c3                   	ret
4033dc:	55                   	push   %ebp
4033dd:	8b ec                	mov    %esp,%ebp
4033df:	53                   	push   %ebx
4033e0:	8b 5d 08             	mov    0x8(%ebp),%ebx
4033e3:	56                   	push   %esi
4033e4:	8b f1                	mov    %ecx,%esi
4033e6:	57                   	push   %edi
4033e7:	8b 7e 04             	mov    0x4(%esi),%edi
4033ea:	8b 4e 08             	mov    0x8(%esi),%ecx
4033ed:	3b f9                	cmp    %ecx,%edi
4033ef:	75 3b                	jne    0x40342c
4033f1:	8b 06                	mov    (%esi),%eax
4033f3:	3b d8                	cmp    %eax,%ebx
4033f5:	72 07                	jb     0x4033fe
4033f7:	8d 04 88             	lea    (%eax,%ecx,4),%eax
4033fa:	3b d8                	cmp    %eax,%ebx
4033fc:	72 5a                	jb     0x403458
4033fe:	85 c9                	test   %ecx,%ecx
403400:	75 05                	jne    0x403407
403402:	33 ff                	xor    %edi,%edi
403404:	47                   	inc    %edi
403405:	eb 0c                	jmp    0x403413
403407:	03 ff                	add    %edi,%edi
403409:	78 49                	js     0x403454
40340b:	81 ff ff ff ff 1f    	cmp    $0x1fffffff,%edi
403411:	77 41                	ja     0x403454
403413:	6a 04                	push   $0x4
403415:	0f ae e8             	lfence
403418:	57                   	push   %edi
403419:	ff 36                	push   (%esi)
40341b:	e8 e6 e1 00 00       	call   0x411606
403420:	83 c4 0c             	add    $0xc,%esp
403423:	85 c0                	test   %eax,%eax
403425:	74 2d                	je     0x403454
403427:	89 7e 08             	mov    %edi,0x8(%esi)
40342a:	89 06                	mov    %eax,(%esi)
40342c:	8b 4e 04             	mov    0x4(%esi),%ecx
40342f:	8b 06                	mov    (%esi),%eax
403431:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
403434:	85 ff                	test   %edi,%edi
403436:	74 0f                	je     0x403447
403438:	8b 0b                	mov    (%ebx),%ecx
40343a:	83 e9 10             	sub    $0x10,%ecx
40343d:	e8 f3 06 00 00       	call   0x403b35
403442:	83 c0 10             	add    $0x10,%eax
403445:	89 07                	mov    %eax,(%edi)
403447:	ff 46 04             	incl   0x4(%esi)
40344a:	33 c0                	xor    %eax,%eax
40344c:	40                   	inc    %eax
40344d:	5f                   	pop    %edi
40344e:	5e                   	pop    %esi
40344f:	5b                   	pop    %ebx
403450:	5d                   	pop    %ebp
403451:	c2 04 00             	ret    $0x4
403454:	33 c0                	xor    %eax,%eax
403456:	eb f5                	jmp    0x40344d
403458:	68 05 40 00 80       	push   $0x80004005
40345d:	e8 5d dc ff ff       	call   0x4010bf
403462:	cc                   	int3
403463:	81 39 f0 01 04 80    	cmpl   $0x800401f0,(%ecx)
403469:	74 0b                	je     0x403476
40346b:	83 39 00             	cmpl   $0x0,(%ecx)
40346e:	7c 06                	jl     0x403476
403470:	ff 25 44 c2 41 00    	jmp    *0x41c244
403476:	c3                   	ret
403477:	55                   	push   %ebp
403478:	8b ec                	mov    %esp,%ebp
40347a:	51                   	push   %ecx
40347b:	53                   	push   %ebx
40347c:	56                   	push   %esi
40347d:	57                   	push   %edi
40347e:	8b d9                	mov    %ecx,%ebx
403480:	b9 44 73 42 00       	mov    $0x427344,%ecx
403485:	6a 00                	push   $0x0
403487:	e8 eb 5a 01 00       	call   0x418f77
40348c:	33 ff                	xor    %edi,%edi
40348e:	8b f0                	mov    %eax,%esi
403490:	47                   	inc    %edi
403491:	85 f6                	test   %esi,%esi
403493:	74 56                	je     0x4034eb
403495:	8b 45 08             	mov    0x8(%ebp),%eax
403498:	c1 e8 04             	shr    $0x4,%eax
40349b:	40                   	inc    %eax
40349c:	0f b7 c0             	movzwl %ax,%eax
40349f:	89 45 fc             	mov    %eax,-0x4(%ebp)
4034a2:	6a 00                	push   $0x0
4034a4:	50                   	push   %eax
4034a5:	6a 06                	push   $0x6
4034a7:	56                   	push   %esi
4034a8:	ff 15 b4 c1 41 00    	call   *0x41c1b4
4034ae:	85 c0                	test   %eax,%eax
4034b0:	74 11                	je     0x4034c3
4034b2:	ff 75 08             	push   0x8(%ebp)
4034b5:	8b d0                	mov    %eax,%edx
4034b7:	8b ce                	mov    %esi,%ecx
4034b9:	e8 d7 dc ff ff       	call   0x401195
4034be:	59                   	pop    %ecx
4034bf:	85 c0                	test   %eax,%eax
4034c1:	75 17                	jne    0x4034da
4034c3:	57                   	push   %edi
4034c4:	b9 44 73 42 00       	mov    $0x427344,%ecx
4034c9:	47                   	inc    %edi
4034ca:	e8 a8 5a 01 00       	call   0x418f77
4034cf:	8b f0                	mov    %eax,%esi
4034d1:	85 f6                	test   %esi,%esi
4034d3:	74 16                	je     0x4034eb
4034d5:	8b 45 fc             	mov    -0x4(%ebp),%eax
4034d8:	eb c8                	jmp    0x4034a2
4034da:	85 f6                	test   %esi,%esi
4034dc:	74 0d                	je     0x4034eb
4034de:	ff 75 08             	push   0x8(%ebp)
4034e1:	8b cb                	mov    %ebx,%ecx
4034e3:	56                   	push   %esi
4034e4:	e8 9e 02 00 00       	call   0x403787
4034e9:	eb 02                	jmp    0x4034ed
4034eb:	33 c0                	xor    %eax,%eax
4034ed:	5f                   	pop    %edi
4034ee:	5e                   	pop    %esi
4034ef:	5b                   	pop    %ebx
4034f0:	c9                   	leave
4034f1:	c2 04 00             	ret    $0x4
4034f4:	55                   	push   %ebp
4034f5:	8b ec                	mov    %esp,%ebp
4034f7:	56                   	push   %esi
4034f8:	8b 75 0c             	mov    0xc(%ebp),%esi
4034fb:	57                   	push   %edi
4034fc:	8b f9                	mov    %ecx,%edi
4034fe:	85 f6                	test   %esi,%esi
403500:	79 02                	jns    0x403504
403502:	33 f6                	xor    %esi,%esi
403504:	8b 0f                	mov    (%edi),%ecx
403506:	3b 71 f4             	cmp    -0xc(%ecx),%esi
403509:	7c 12                	jl     0x40351d
40350b:	83 c1 f0             	add    $0xfffffff0,%ecx
40350e:	e8 22 06 00 00       	call   0x403b35
403513:	8d 48 10             	lea    0x10(%eax),%ecx
403516:	8b 45 08             	mov    0x8(%ebp),%eax
403519:	89 08                	mov    %ecx,(%eax)
40351b:	eb 19                	jmp    0x403536
40351d:	8b cf                	mov    %edi,%ecx
40351f:	0f ae e8             	lfence
403522:	e8 53 03 00 00       	call   0x40387a
403527:	8b 4d 08             	mov    0x8(%ebp),%ecx
40352a:	50                   	push   %eax
40352b:	56                   	push   %esi
40352c:	ff 37                	push   (%edi)
40352e:	e8 dc 03 00 00       	call   0x40390f
403533:	8b 45 08             	mov    0x8(%ebp),%eax
403536:	5f                   	pop    %edi
403537:	5e                   	pop    %esi
403538:	5d                   	pop    %ebp
403539:	c2 08 00             	ret    $0x8
40353c:	55                   	push   %ebp
40353d:	8b ec                	mov    %esp,%ebp
40353f:	51                   	push   %ecx
403540:	51                   	push   %ecx
403541:	53                   	push   %ebx
403542:	56                   	push   %esi
403543:	57                   	push   %edi
403544:	8b 7d 08             	mov    0x8(%ebp),%edi
403547:	8b d9                	mov    %ecx,%ebx
403549:	85 ff                	test   %edi,%edi
40354b:	79 02                	jns    0x40354f
40354d:	33 ff                	xor    %edi,%edi
40354f:	8b 75 0c             	mov    0xc(%ebp),%esi
403552:	85 f6                	test   %esi,%esi
403554:	79 02                	jns    0x403558
403556:	33 f6                	xor    %esi,%esi
403558:	8b 03                	mov    (%ebx),%eax
40355a:	8b 50 f4             	mov    -0xc(%eax),%edx
40355d:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
403562:	2b c6                	sub    %esi,%eax
403564:	3b c7                	cmp    %edi,%eax
403566:	7c 67                	jl     0x4035cf
403568:	8b ca                	mov    %edx,%ecx
40356a:	8d 04 37             	lea    (%edi,%esi,1),%eax
40356d:	2b cf                	sub    %edi,%ecx
40356f:	3b c2                	cmp    %edx,%eax
403571:	7e 02                	jle    0x403575
403573:	8b f1                	mov    %ecx,%esi
403575:	85 f6                	test   %esi,%esi
403577:	7e 4a                	jle    0x4035c3
403579:	0f ae e8             	lfence
40357c:	8b 03                	mov    (%ebx),%eax
40357e:	2b d6                	sub    %esi,%edx
403580:	2b ce                	sub    %esi,%ecx
403582:	89 55 f8             	mov    %edx,-0x8(%ebp)
403585:	89 4d fc             	mov    %ecx,-0x4(%ebp)
403588:	83 78 fc 01          	cmpl   $0x1,-0x4(%eax)
40358c:	7e 0d                	jle    0x40359b
40358e:	ff 70 f4             	push   -0xc(%eax)
403591:	8b cb                	mov    %ebx,%ecx
403593:	e8 65 06 00 00       	call   0x403bfd
403598:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40359b:	8b 13                	mov    (%ebx),%edx
40359d:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4035a4:	51                   	push   %ecx
4035a5:	8d 04 37             	lea    (%edi,%esi,1),%eax
4035a8:	8d 04 42             	lea    (%edx,%eax,2),%eax
4035ab:	50                   	push   %eax
4035ac:	51                   	push   %ecx
4035ad:	8d 04 7a             	lea    (%edx,%edi,2),%eax
4035b0:	50                   	push   %eax
4035b1:	e8 65 db ff ff       	call   0x40111b
4035b6:	83 c4 10             	add    $0x10,%esp
4035b9:	8b cb                	mov    %ebx,%ecx
4035bb:	ff 75 f8             	push   -0x8(%ebp)
4035be:	e8 bc 03 00 00       	call   0x40397f
4035c3:	8b 03                	mov    (%ebx),%eax
4035c5:	5f                   	pop    %edi
4035c6:	5e                   	pop    %esi
4035c7:	5b                   	pop    %ebx
4035c8:	8b 40 f4             	mov    -0xc(%eax),%eax
4035cb:	c9                   	leave
4035cc:	c2 08 00             	ret    $0x8
4035cf:	68 16 02 07 80       	push   $0x80070216
4035d4:	0f ae e8             	lfence
4035d7:	e8 e3 da ff ff       	call   0x4010bf
4035dc:	cc                   	int3
4035dd:	55                   	push   %ebp
4035de:	8b ec                	mov    %esp,%ebp
4035e0:	8b 45 08             	mov    0x8(%ebp),%eax
4035e3:	53                   	push   %ebx
4035e4:	8b d9                	mov    %ecx,%ebx
4035e6:	57                   	push   %edi
4035e7:	8b 10                	mov    (%eax),%edx
4035e9:	8b 3b                	mov    (%ebx),%edi
4035eb:	83 ef 10             	sub    $0x10,%edi
4035ee:	8d 4a f0             	lea    -0x10(%edx),%ecx
4035f1:	3b cf                	cmp    %edi,%ecx
4035f3:	74 2e                	je     0x403623
4035f5:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
4035f9:	7c 1d                	jl     0x403618
4035fb:	8b 01                	mov    (%ecx),%eax
4035fd:	3b 07                	cmp    (%edi),%eax
4035ff:	75 17                	jne    0x403618
403601:	56                   	push   %esi
403602:	e8 2e 05 00 00       	call   0x403b35
403607:	8b cf                	mov    %edi,%ecx
403609:	8b f0                	mov    %eax,%esi
40360b:	e8 f2 dc ff ff       	call   0x401302
403610:	8d 46 10             	lea    0x10(%esi),%eax
403613:	89 03                	mov    %eax,(%ebx)
403615:	5e                   	pop    %esi
403616:	eb 0b                	jmp    0x403623
403618:	ff 72 f4             	push   -0xc(%edx)
40361b:	8b cb                	mov    %ebx,%ecx
40361d:	52                   	push   %edx
40361e:	e8 87 03 00 00       	call   0x4039aa
403623:	5f                   	pop    %edi
403624:	8b c3                	mov    %ebx,%eax
403626:	5b                   	pop    %ebx
403627:	5d                   	pop    %ebp
403628:	c2 04 00             	ret    $0x4
40362b:	55                   	push   %ebp
40362c:	8b ec                	mov    %esp,%ebp
40362e:	56                   	push   %esi
40362f:	8b f1                	mov    %ecx,%esi
403631:	e8 f5 dc ff ff       	call   0x40132b
403636:	50                   	push   %eax
403637:	8b ce                	mov    %esi,%ecx
403639:	e8 be 04 00 00       	call   0x403afc
40363e:	8b 45 08             	mov    0x8(%ebp),%eax
403641:	85 c0                	test   %eax,%eax
403643:	74 14                	je     0x403659
403645:	a9 00 00 ff ff       	test   $0xffff0000,%eax
40364a:	75 0d                	jne    0x403659
40364c:	0f b7 c0             	movzwl %ax,%eax
40364f:	8b ce                	mov    %esi,%ecx
403651:	50                   	push   %eax
403652:	e8 20 fe ff ff       	call   0x403477
403657:	eb 08                	jmp    0x403661
403659:	50                   	push   %eax
40365a:	8b ce                	mov    %esi,%ecx
40365c:	e8 54 02 00 00       	call   0x4038b5
403661:	8b c6                	mov    %esi,%eax
403663:	5e                   	pop    %esi
403664:	5d                   	pop    %ebp
403665:	c2 04 00             	ret    $0x4
403668:	55                   	push   %ebp
403669:	8b ec                	mov    %esp,%ebp
40366b:	56                   	push   %esi
40366c:	57                   	push   %edi
40366d:	8b f9                	mov    %ecx,%edi
40366f:	e8 b7 dc ff ff       	call   0x40132b
403674:	50                   	push   %eax
403675:	8b cf                	mov    %edi,%ecx
403677:	e8 80 04 00 00       	call   0x403afc
40367c:	8b 75 08             	mov    0x8(%ebp),%esi
40367f:	85 f6                	test   %esi,%esi
403681:	74 1e                	je     0x4036a1
403683:	f7 c6 00 00 ff ff    	test   $0xffff0000,%esi
403689:	75 0d                	jne    0x403698
40368b:	0f b7 c6             	movzwl %si,%eax
40368e:	8b cf                	mov    %edi,%ecx
403690:	50                   	push   %eax
403691:	e8 e1 fd ff ff       	call   0x403477
403696:	eb 14                	jmp    0x4036ac
403698:	56                   	push   %esi
403699:	e8 93 d3 00 00       	call   0x410a31
40369e:	59                   	pop    %ecx
40369f:	eb 02                	jmp    0x4036a3
4036a1:	33 c0                	xor    %eax,%eax
4036a3:	50                   	push   %eax
4036a4:	56                   	push   %esi
4036a5:	8b cf                	mov    %edi,%ecx
4036a7:	e8 fe 02 00 00       	call   0x4039aa
4036ac:	8b c7                	mov    %edi,%eax
4036ae:	5f                   	pop    %edi
4036af:	5e                   	pop    %esi
4036b0:	5d                   	pop    %ebp
4036b1:	c2 04 00             	ret    $0x4
4036b4:	55                   	push   %ebp
4036b5:	8b ec                	mov    %esp,%ebp
4036b7:	8b 45 08             	mov    0x8(%ebp),%eax
4036ba:	56                   	push   %esi
4036bb:	8b f1                	mov    %ecx,%esi
4036bd:	83 f8 ff             	cmp    $0xffffffff,%eax
4036c0:	75 11                	jne    0x4036d3
4036c2:	8b 06                	mov    (%esi),%eax
4036c4:	85 c0                	test   %eax,%eax
4036c6:	74 0b                	je     0x4036d3
4036c8:	ff 70 f8             	push   -0x8(%eax)
4036cb:	50                   	push   %eax
4036cc:	e8 88 d4 00 00       	call   0x410b59
4036d1:	59                   	pop    %ecx
4036d2:	59                   	pop    %ecx
4036d3:	50                   	push   %eax
4036d4:	8b ce                	mov    %esi,%ecx
4036d6:	e8 a4 02 00 00       	call   0x40397f
4036db:	5e                   	pop    %esi
4036dc:	5d                   	pop    %ebp
4036dd:	c2 04 00             	ret    $0x4
4036e0:	55                   	push   %ebp
4036e1:	8b ec                	mov    %esp,%ebp
4036e3:	8b 55 08             	mov    0x8(%ebp),%edx
4036e6:	56                   	push   %esi
4036e7:	8b f1                	mov    %ecx,%esi
4036e9:	85 d2                	test   %edx,%edx
4036eb:	78 23                	js     0x403710
4036ed:	8b 06                	mov    (%esi),%eax
4036ef:	33 c9                	xor    %ecx,%ecx
4036f1:	41                   	inc    %ecx
4036f2:	2b 48 fc             	sub    -0x4(%eax),%ecx
4036f5:	8b 40 f8             	mov    -0x8(%eax),%eax
4036f8:	2b c2                	sub    %edx,%eax
4036fa:	0b c8                	or     %eax,%ecx
4036fc:	7d 0b                	jge    0x403709