4036b6:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4036bc:	8b 4e 34             	mov    0x34(%esi),%ecx
4036bf:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4036c5:	8b 56 10             	mov    0x10(%esi),%edx
4036c8:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
4036ce:	8b 46 20             	mov    0x20(%esi),%eax
4036d1:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4036d7:	8b 4e 30             	mov    0x30(%esi),%ecx
4036da:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4036e0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4036e4:	5f                   	pop    %edi
4036e5:	8b c6                	mov    %esi,%eax
4036e7:	5e                   	pop    %esi
4036e8:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4036ef:	83 c4 10             	add    $0x10,%esp
4036f2:	c2 04 00             	ret    $0x4
4036f5:	cc                   	int3
4036f6:	cc                   	int3
4036f7:	cc                   	int3
4036f8:	cc                   	int3
4036f9:	cc                   	int3
4036fa:	cc                   	int3
4036fb:	cc                   	int3
4036fc:	cc                   	int3
4036fd:	cc                   	int3
4036fe:	cc                   	int3
4036ff:	cc                   	int3
403700:	55                   	push   %ebp
403701:	8b ec                	mov    %esp,%ebp
403703:	6a ff                	push   $0xffffffff
403705:	68 b0 99 41 00       	push   $0x4199b0
40370a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
403710:	50                   	push   %eax
403711:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
403718:	83 ec 48             	sub    $0x48,%esp
40371b:	53                   	push   %ebx
40371c:	56                   	push   %esi
40371d:	8b 75 08             	mov    0x8(%ebp),%esi
403720:	8b 46 0c             	mov    0xc(%esi),%eax
403723:	57                   	push   %edi
403724:	89 65 f0             	mov    %esp,-0x10(%ebp)
403727:	85 c0                	test   %eax,%eax
403729:	75 04                	jne    0x40372f
40372b:	33 db                	xor    %ebx,%ebx
40372d:	eb 18                	jmp    0x403747
40372f:	8b 4e 14             	mov    0x14(%esi),%ecx
403732:	2b c8                	sub    %eax,%ecx
403734:	b8 93 24 49 92       	mov    $0x92492493,%eax
403739:	f7 e9                	imul   %ecx
40373b:	03 d1                	add    %ecx,%edx
40373d:	c1 fa 04             	sar    $0x4,%edx
403740:	8b da                	mov    %edx,%ebx
403742:	c1 eb 1f             	shr    $0x1f,%ebx
403745:	03 da                	add    %edx,%ebx
403747:	8b 7e 10             	mov    0x10(%esi),%edi
40374a:	8b cf                	mov    %edi,%ecx
40374c:	2b 4e 0c             	sub    0xc(%esi),%ecx
40374f:	b8 93 24 49 92       	mov    $0x92492493,%eax
403754:	f7 e9                	imul   %ecx
403756:	03 d1                	add    %ecx,%edx
403758:	c1 fa 04             	sar    $0x4,%edx
40375b:	8b c2                	mov    %edx,%eax
40375d:	c1 e8 1f             	shr    $0x1f,%eax
403760:	03 c2                	add    %edx,%eax
403762:	b9 49 92 24 09       	mov    $0x9249249,%ecx
403767:	2b c8                	sub    %eax,%ecx
403769:	83 f9 01             	cmp    $0x1,%ecx
40376c:	73 05                	jae    0x403773
40376e:	e8 6d 02 00 00       	call   0x4039e0
403773:	40                   	inc    %eax
403774:	3b d8                	cmp    %eax,%ebx
403776:	0f 83 2a 01 00 00    	jae    0x4038a6
40377c:	8b cb                	mov    %ebx,%ecx
40377e:	d1 e9                	shr    $1,%ecx
403780:	ba 49 92 24 09       	mov    $0x9249249,%edx
403785:	2b d1                	sub    %ecx,%edx
403787:	3b d3                	cmp    %ebx,%edx
403789:	73 04                	jae    0x40378f
40378b:	33 db                	xor    %ebx,%ebx
40378d:	eb 02                	jmp    0x403791
40378f:	03 d9                	add    %ecx,%ebx
403791:	3b d8                	cmp    %eax,%ebx
403793:	73 02                	jae    0x403797
403795:	8b d8                	mov    %eax,%ebx
403797:	8b cb                	mov    %ebx,%ecx
403799:	e8 e2 02 00 00       	call   0x403a80
40379e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4037a5:	8b 4e 0c             	mov    0xc(%esi),%ecx
4037a8:	c6 45 e8 00          	movb   $0x0,-0x18(%ebp)
4037ac:	8b 55 e8             	mov    -0x18(%ebp),%edx
4037af:	52                   	push   %edx
4037b0:	8b 55 0c             	mov    0xc(%ebp),%edx
4037b3:	52                   	push   %edx
4037b4:	50                   	push   %eax
4037b5:	89 45 ec             	mov    %eax,-0x14(%ebp)
4037b8:	89 45 08             	mov    %eax,0x8(%ebp)
4037bb:	8b 45 14             	mov    0x14(%ebp),%eax
4037be:	50                   	push   %eax
4037bf:	e8 ac 08 00 00       	call   0x404070
4037c4:	8b 55 0c             	mov    0xc(%ebp),%edx
4037c7:	c6 45 e8 00          	movb   $0x0,-0x18(%ebp)
4037cb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4037ce:	51                   	push   %ecx
4037cf:	8b f8                	mov    %eax,%edi
4037d1:	8b 45 0c             	mov    0xc(%ebp),%eax
4037d4:	52                   	push   %edx
4037d5:	50                   	push   %eax
4037d6:	57                   	push   %edi
4037d7:	b9 01 00 00 00       	mov    $0x1,%ecx
4037dc:	89 7d 08             	mov    %edi,0x8(%ebp)
4037df:	e8 7c 07 00 00       	call   0x403f60
4037e4:	8b 46 10             	mov    0x10(%esi),%eax
4037e7:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
4037eb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4037ee:	8b 55 0c             	mov    0xc(%ebp),%edx
4037f1:	51                   	push   %ecx
4037f2:	8b 4d 14             	mov    0x14(%ebp),%ecx
4037f5:	52                   	push   %edx
4037f6:	83 c7 1c             	add    $0x1c,%edi
4037f9:	57                   	push   %edi
4037fa:	50                   	push   %eax
4037fb:	89 7d 08             	mov    %edi,0x8(%ebp)
4037fe:	e8 6d 08 00 00       	call   0x404070
403803:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
40380a:	8b 7e 0c             	mov    0xc(%esi),%edi
40380d:	8b 4e 10             	mov    0x10(%esi),%ecx
403810:	2b cf                	sub    %edi,%ecx
403812:	b8 93 24 49 92       	mov    $0x92492493,%eax
403817:	f7 e9                	imul   %ecx
403819:	03 d1                	add    %ecx,%edx
40381b:	c1 fa 04             	sar    $0x4,%edx
40381e:	8b c2                	mov    %edx,%eax
403820:	c1 e8 1f             	shr    $0x1f,%eax
403823:	8d 54 02 01          	lea    0x1(%edx,%eax,1),%edx
403827:	89 55 0c             	mov    %edx,0xc(%ebp)
40382a:	85 ff                	test   %edi,%edi
40382c:	74 1e                	je     0x40384c
40382e:	8b 4d 0c             	mov    0xc(%ebp),%ecx
403831:	8b 7e 10             	mov    0x10(%esi),%edi
403834:	8b 46 0c             	mov    0xc(%esi),%eax
403837:	51                   	push   %ecx
403838:	e8 c3 07 00 00       	call   0x404000
40383d:	8b 56 0c             	mov    0xc(%esi),%edx
403840:	52                   	push   %edx
403841:	e8 f0 1a 00 00       	call   0x405336
403846:	8b 55 0c             	mov    0xc(%ebp),%edx
403849:	83 c4 04             	add    $0x4,%esp
40384c:	8b 45 ec             	mov    -0x14(%ebp),%eax
40384f:	8d 0c dd 00 00 00 00 	lea    0x0(,%ebx,8),%ecx
403856:	2b cb                	sub    %ebx,%ecx
403858:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
40385b:	89 4e 14             	mov    %ecx,0x14(%esi)
40385e:	8d 0c d5 00 00 00 00 	lea    0x0(,%edx,8),%ecx
403865:	2b ca                	sub    %edx,%ecx
403867:	8d 14 88             	lea    (%eax,%ecx,4),%edx
40386a:	89 56 10             	mov    %edx,0x10(%esi)
40386d:	89 46 0c             	mov    %eax,0xc(%esi)
403870:	8b 4d f4             	mov    -0xc(%ebp),%ecx
403873:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40387a:	5f                   	pop    %edi
40387b:	5e                   	pop    %esi
40387c:	5b                   	pop    %ebx
40387d:	8b e5                	mov    %ebp,%esp
40387f:	5d                   	pop    %ebp
403880:	c2 10 00             	ret    $0x10
403883:	8b 45 0c             	mov    0xc(%ebp),%eax
403886:	8b 75 ec             	mov    -0x14(%ebp),%esi
403889:	8b 7d 08             	mov    0x8(%ebp),%edi
40388c:	50                   	push   %eax
40388d:	8b c6                	mov    %esi,%eax
40388f:	e8 6c 07 00 00       	call   0x404000
403894:	56                   	push   %esi
403895:	e8 9c 1a 00 00       	call   0x405336
40389a:	83 c4 04             	add    $0x4,%esp
40389d:	6a 00                	push   $0x0
40389f:	6a 00                	push   $0x0
4038a1:	e8 0c 2e 00 00       	call   0x4066b2
4038a6:	2b 7d 14             	sub    0x14(%ebp),%edi
4038a9:	b8 93 24 49 92       	mov    $0x92492493,%eax
4038ae:	f7 ef                	imul   %edi
4038b0:	03 d7                	add    %edi,%edx
4038b2:	c1 fa 04             	sar    $0x4,%edx
4038b5:	8b ca                	mov    %edx,%ecx
4038b7:	c1 e9 1f             	shr    $0x1f,%ecx
4038ba:	03 ca                	add    %edx,%ecx
4038bc:	8b 55 0c             	mov    0xc(%ebp),%edx
4038bf:	52                   	push   %edx
4038c0:	83 f9 01             	cmp    $0x1,%ecx
4038c3:	0f 83 a5 00 00 00    	jae    0x40396e
4038c9:	8d 4d cc             	lea    -0x34(%ebp),%ecx
4038cc:	e8 1f eb ff ff       	call   0x4023f0
4038d1:	bb 02 00 00 00       	mov    $0x2,%ebx
4038d6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
4038d9:	8b 4d 14             	mov    0x14(%ebp),%ecx
4038dc:	8b 46 10             	mov    0x10(%esi),%eax
4038df:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
4038e3:	8b 7d 0c             	mov    0xc(%ebp),%edi
4038e6:	57                   	push   %edi
4038e7:	8b 7d 0c             	mov    0xc(%ebp),%edi
4038ea:	57                   	push   %edi
4038eb:	8d 51 1c             	lea    0x1c(%ecx),%edx
4038ee:	52                   	push   %edx
4038ef:	50                   	push   %eax
4038f0:	e8 7b 07 00 00       	call   0x404070
4038f5:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4038f9:	8b 7e 10             	mov    0x10(%esi),%edi
4038fc:	8b cf                	mov    %edi,%ecx
4038fe:	2b 4d 14             	sub    0x14(%ebp),%ecx
403901:	b8 93 24 49 92       	mov    $0x92492493,%eax
403906:	f7 e9                	imul   %ecx
403908:	03 d1                	add    %ecx,%edx
40390a:	c1 fa 04             	sar    $0x4,%edx
40390d:	8b c2                	mov    %edx,%eax
40390f:	c1 e8 1f             	shr    $0x1f,%eax
403912:	03 c2                	add    %edx,%eax
403914:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
403918:	8b 55 0c             	mov    0xc(%ebp),%edx
40391b:	52                   	push   %edx
40391c:	b9 01 00 00 00       	mov    $0x1,%ecx
403921:	2b c8                	sub    %eax,%ecx
403923:	8b 45 0c             	mov    0xc(%ebp),%eax
403926:	50                   	push   %eax
403927:	8d 55 cc             	lea    -0x34(%ebp),%edx
40392a:	52                   	push   %edx
40392b:	57                   	push   %edi
40392c:	e8 2f 06 00 00       	call   0x403f60
403931:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403934:	83 46 10 1c          	addl   $0x1c,0x10(%esi)
403938:	8b 76 10             	mov    0x10(%esi),%esi
40393b:	8b 45 14             	mov    0x14(%ebp),%eax
40393e:	8d 7e e4             	lea    -0x1c(%esi),%edi
403941:	8d 5d cc             	lea    -0x34(%ebp),%ebx
403944:	e8 87 05 00 00       	call   0x403ed0
403949:	8b cb                	mov    %ebx,%ecx
40394b:	eb 68                	jmp    0x4039b5
40394d:	8b 45 0c             	mov    0xc(%ebp),%eax
403950:	8b 4d 08             	mov    0x8(%ebp),%ecx
403953:	8b 79 10             	mov    0x10(%ecx),%edi
403956:	50                   	push   %eax
403957:	8b 45 14             	mov    0x14(%ebp),%eax
40395a:	83 c7 1c             	add    $0x1c,%edi
40395d:	83 c0 1c             	add    $0x1c,%eax
403960:	e8 9b 06 00 00       	call   0x404000
403965:	6a 00                	push   $0x0
403967:	6a 00                	push   $0x0
403969:	e8 44 2d 00 00       	call   0x4066b2
40396e:	8d 4d b0             	lea    -0x50(%ebp),%ecx
403971:	e8 7a ea ff ff       	call   0x4023f0
403976:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
40397d:	8b 7e 10             	mov    0x10(%esi),%edi
403980:	c6 45 0c 00          	movb   $0x0,0xc(%ebp)
403984:	8b 45 0c             	mov    0xc(%ebp),%eax
403987:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40398a:	50                   	push   %eax
40398b:	51                   	push   %ecx
40398c:	57                   	push   %edi
40398d:	8d 5f e4             	lea    -0x1c(%edi),%ebx
403990:	57                   	push   %edi
403991:	8b cb                	mov    %ebx,%ecx
403993:	e8 d8 06 00 00       	call   0x404070
403998:	89 46 10             	mov    %eax,0x10(%esi)
40399b:	8b c3                	mov    %ebx,%eax
40399d:	8b 5d 14             	mov    0x14(%ebp),%ebx
4039a0:	e8 4b 05 00 00       	call   0x403ef0
4039a5:	8b 45 14             	mov    0x14(%ebp),%eax
4039a8:	8d 78 1c             	lea    0x1c(%eax),%edi
4039ab:	8d 5d b0             	lea    -0x50(%ebp),%ebx
4039ae:	e8 1d 05 00 00       	call   0x403ed0
4039b3:	8b cb                	mov    %ebx,%ecx
4039b5:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)
4039bc:	e8 5f ea ff ff       	call   0x402420
4039c1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4039c4:	5f                   	pop    %edi
4039c5:	5e                   	pop    %esi
4039c6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4039cd:	5b                   	pop    %ebx
4039ce:	8b e5                	mov    %ebp,%esp
4039d0:	5d                   	pop    %ebp
4039d1:	c2 10 00             	ret    $0x10
4039d4:	cc                   	int3
4039d5:	cc                   	int3
4039d6:	cc                   	int3
4039d7:	cc                   	int3
4039d8:	cc                   	int3
4039d9:	cc                   	int3
4039da:	cc                   	int3
4039db:	cc                   	int3
4039dc:	cc                   	int3
4039dd:	cc                   	int3
4039de:	cc                   	int3
4039df:	cc                   	int3
4039e0:	6a ff                	push   $0xffffffff
4039e2:	68 90 99 41 00       	push   $0x419990
4039e7:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4039ed:	50                   	push   %eax
4039ee:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
4039f5:	83 ec 44             	sub    $0x44,%esp
4039f8:	53                   	push   %ebx
4039f9:	6a 12                	push   $0x12
4039fb:	33 db                	xor    %ebx,%ebx
4039fd:	68 18 8a 42 00       	push   $0x428a18
403a02:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
403a06:	c7 44 24 24 0f 00 00 	movl   $0xf,0x24(%esp)
403a0d:	00
403a0e:	89 5c 24 20          	mov    %ebx,0x20(%esp)
403a12:	88 5c 24 10          	mov    %bl,0x10(%esp)
403a16:	e8 f5 f9 ff ff       	call   0x403410
403a1b:	8d 4c 24 20          	lea    0x20(%esp),%ecx
403a1f:	89 5c 24 50          	mov    %ebx,0x50(%esp)
403a23:	e8 69 14 00 00       	call   0x404e91
403a28:	6a ff                	push   $0xffffffff
403a2a:	c6 44 24 54 01       	movb   $0x1,0x54(%esp)
403a2f:	53                   	push   %ebx
403a30:	8d 44 24 0c          	lea    0xc(%esp),%eax
403a34:	50                   	push   %eax
403a35:	8d 4c 24 38          	lea    0x38(%esp),%ecx
403a39:	c7 44 24 2c 2c a2 41 	movl   $0x41a22c,0x2c(%esp)
403a40:	00
403a41:	c7 44 24 50 0f 00 00 	movl   $0xf,0x50(%esp)
403a48:	00
403a49:	89 5c 24 4c          	mov    %ebx,0x4c(%esp)
403a4d:	88 5c 24 3c          	mov    %bl,0x3c(%esp)
403a51:	e8 da f6 ff ff       	call   0x403130
403a56:	68 10 9c 42 00       	push   $0x429c10
403a5b:	8d 4c 24 24          	lea    0x24(%esp),%ecx
403a5f:	88 5c 24 54          	mov    %bl,0x54(%esp)
403a63:	51                   	push   %ecx
403a64:	c7 44 24 28 38 a2 41 	movl   $0x41a238,0x28(%esp)
403a6b:	00
403a6c:	e8 41 2c 00 00       	call   0x4066b2
403a71:	cc                   	int3
403a72:	cc                   	int3
403a73:	cc                   	int3
403a74:	cc                   	int3
403a75:	cc                   	int3
403a76:	cc                   	int3
403a77:	cc                   	int3
403a78:	cc                   	int3
403a79:	cc                   	int3
403a7a:	cc                   	int3
403a7b:	cc                   	int3
403a7c:	cc                   	int3
403a7d:	cc                   	int3
403a7e:	cc                   	int3
403a7f:	cc                   	int3
403a80:	83 ec 10             	sub    $0x10,%esp
403a83:	85 c9                	test   %ecx,%ecx
403a85:	77 1c                	ja     0x403aa3
403a87:	33 c9                	xor    %ecx,%ecx
403a89:	8d 14 cd 00 00 00 00 	lea    0x0(,%ecx,8),%edx