4117c9:	83 c4 0c             	add    $0xc,%esp
4117cc:	5f                   	pop    %edi
4117cd:	8b c6                	mov    %esi,%eax
4117cf:	5e                   	pop    %esi
4117d0:	5d                   	pop    %ebp
4117d1:	c2 0c 00             	ret    $0xc
4117d4:	55                   	push   %ebp
4117d5:	8b ec                	mov    %esp,%ebp
4117d7:	53                   	push   %ebx
4117d8:	8b 5d 14             	mov    0x14(%ebp),%ebx
4117db:	56                   	push   %esi
4117dc:	57                   	push   %edi
4117dd:	8b 7d 18             	mov    0x18(%ebp),%edi
4117e0:	8d 47 4c             	lea    0x4c(%edi),%eax
4117e3:	50                   	push   %eax
4117e4:	ff 75 28             	push   0x28(%ebp)
4117e7:	33 c0                	xor    %eax,%eax
4117e9:	ff 77 0c             	push   0xc(%edi)
4117ec:	39 47 18             	cmp    %eax,0x18(%edi)
4117ef:	ff 75 20             	push   0x20(%ebp)
4117f2:	0f 94 c0             	sete   %al
4117f5:	ff 33                	push   (%ebx)
4117f7:	50                   	push   %eax
4117f8:	ff 77 40             	push   0x40(%edi)
4117fb:	ff b7 8c 00 00 00    	push   0x8c(%edi)
411801:	e8 a4 06 00 00       	call   0x411eaa
411806:	8b f0                	mov    %eax,%esi
411808:	85 f6                	test   %esi,%esi
41180a:	79 0a                	jns    0x411816
41180c:	68 90 28 45 00       	push   $0x452890
411811:	e9 27 01 00 00       	jmp    0x41193d
411816:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41181a:	8d 57 50             	lea    0x50(%edi),%edx
41181d:	8b 75 10             	mov    0x10(%ebp),%esi
411820:	8b 47 4c             	mov    0x4c(%edi),%eax
411823:	89 02                	mov    %eax,(%edx)
411825:	52                   	push   %edx
411826:	8b 46 10             	mov    0x10(%esi),%eax
411829:	ff 37                	push   (%edi)
41182b:	50                   	push   %eax
41182c:	8b 08                	mov    (%eax),%ecx
41182e:	74 05                	je     0x411835
411830:	ff 51 58             	call   *0x58(%ecx)
411833:	eb 03                	jmp    0x411838
411835:	ff 51 54             	call   *0x54(%ecx)
411838:	50                   	push   %eax
411839:	6a 01                	push   $0x1
41183b:	56                   	push   %esi
41183c:	e8 4a bd ff ff       	call   0x40d58b
411841:	8b f0                	mov    %eax,%esi
411843:	85 f6                	test   %esi,%esi
411845:	79 1a                	jns    0x411861
411847:	56                   	push   %esi
411848:	68 5a 03 00 00       	push   $0x35a
41184d:	68 b8 28 45 00       	push   $0x4528b8
411852:	e8 7c 1f ff ff       	call   0x4037d3
411857:	68 c4 28 45 00       	push   $0x4528c4
41185c:	e9 dc 00 00 00       	jmp    0x41193d
411861:	83 3b 03             	cmpl   $0x3,(%ebx)
411864:	75 05                	jne    0x41186b
411866:	8b 47 3c             	mov    0x3c(%edi),%eax
411869:	eb 03                	jmp    0x41186e
41186b:	8b 47 38             	mov    0x38(%edi),%eax
41186e:	ff 75 34             	push   0x34(%ebp)
411871:	50                   	push   %eax
411872:	53                   	push   %ebx
411873:	e8 47 01 00 00       	call   0x4119bf
411878:	8b f0                	mov    %eax,%esi
41187a:	85 f6                	test   %esi,%esi
41187c:	79 0a                	jns    0x411888
41187e:	68 e4 28 45 00       	push   $0x4528e4
411883:	e9 b5 00 00 00       	jmp    0x41193d
411888:	83 7f 50 00          	cmpl   $0x0,0x50(%edi)
41188c:	0f 84 d7 00 00 00    	je     0x411969
411892:	83 3b 02             	cmpl   $0x2,(%ebx)
411895:	75 1a                	jne    0x4118b1
411897:	ff 75 2c             	push   0x2c(%ebp)
41189a:	57                   	push   %edi
41189b:	53                   	push   %ebx
41189c:	e8 c0 0c 00 00       	call   0x412561
4118a1:	8b f0                	mov    %eax,%esi
4118a3:	85 f6                	test   %esi,%esi
4118a5:	79 73                	jns    0x41191a
4118a7:	68 14 29 45 00       	push   $0x452914
4118ac:	e9 8c 00 00 00       	jmp    0x41193d
4118b1:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
4118b5:	74 16                	je     0x4118cd
4118b7:	8b 4d 38             	mov    0x38(%ebp),%ecx
4118ba:	85 c9                	test   %ecx,%ecx
4118bc:	74 0f                	je     0x4118cd
4118be:	81 79 04 00 00 00 80 	cmpl   $0x80000000,0x4(%ecx)
4118c5:	75 06                	jne    0x4118cd
4118c7:	8b 43 68             	mov    0x68(%ebx),%eax
4118ca:	89 41 04             	mov    %eax,0x4(%ecx)
4118cd:	ff 75 30             	push   0x30(%ebp)
4118d0:	ff 75 20             	push   0x20(%ebp)
4118d3:	ff 75 1c             	push   0x1c(%ebp)
4118d6:	57                   	push   %edi
4118d7:	53                   	push   %ebx
4118d8:	ff 75 10             	push   0x10(%ebp)
4118db:	ff 75 24             	push   0x24(%ebp)
4118de:	ff 75 08             	push   0x8(%ebp)
4118e1:	e8 29 07 00 00       	call   0x41200f
4118e6:	8b f0                	mov    %eax,%esi
4118e8:	85 f6                	test   %esi,%esi
4118ea:	79 07                	jns    0x4118f3
4118ec:	68 34 29 45 00       	push   $0x452934
4118f1:	eb 4a                	jmp    0x41193d
4118f3:	83 7f 18 00          	cmpl   $0x0,0x18(%edi)
4118f7:	74 21                	je     0x41191a
4118f9:	8b 4d 38             	mov    0x38(%ebp),%ecx
4118fc:	85 c9                	test   %ecx,%ecx
4118fe:	74 1a                	je     0x41191a
411900:	81 39 00 00 00 80    	cmpl   $0x80000000,(%ecx)
411906:	75 06                	jne    0x41190e
411908:	8b 43 60             	mov    0x60(%ebx),%eax
41190b:	48                   	dec    %eax
41190c:	89 01                	mov    %eax,(%ecx)
41190e:	8b 43 60             	mov    0x60(%ebx),%eax
411911:	89 41 08             	mov    %eax,0x8(%ecx)
411914:	8b 43 68             	mov    0x68(%ebx),%eax
411917:	89 41 0c             	mov    %eax,0xc(%ecx)
41191a:	83 7f 5c 00          	cmpl   $0x0,0x5c(%edi)
41191e:	75 0c                	jne    0x41192c
411920:	83 7f 60 00          	cmpl   $0x0,0x60(%edi)
411924:	75 06                	jne    0x41192c
411926:	83 7f 6c 00          	cmpl   $0x0,0x6c(%edi)
41192a:	74 19                	je     0x411945
41192c:	53                   	push   %ebx
41192d:	e8 c4 1d 00 00       	call   0x4136f6
411932:	8b f0                	mov    %eax,%esi
411934:	85 f6                	test   %esi,%esi
411936:	79 0d                	jns    0x411945
411938:	68 a8 29 45 00       	push   $0x4529a8
41193d:	56                   	push   %esi
41193e:	e8 ec e7 02 00       	call   0x44012f
411943:	59                   	pop    %ecx
411944:	59                   	pop    %ecx
411945:	ff 77 60             	push   0x60(%edi)
411948:	8b 45 10             	mov    0x10(%ebp),%eax
41194b:	ff 77 5c             	push   0x5c(%edi)
41194e:	ff 77 50             	push   0x50(%edi)
411951:	8b 40 10             	mov    0x10(%eax),%eax
411954:	ff 77 40             	push   0x40(%edi)
411957:	56                   	push   %esi
411958:	ff 37                	push   (%edi)
41195a:	8b 08                	mov    (%eax),%ecx
41195c:	50                   	push   %eax
41195d:	ff 51 64             	call   *0x64(%ecx)
411960:	5f                   	pop    %edi
411961:	8b c6                	mov    %esi,%eax
411963:	5e                   	pop    %esi
411964:	5b                   	pop    %ebx
411965:	5d                   	pop    %ebp
411966:	c2 34 00             	ret    $0x34
411969:	83 3b 02             	cmpl   $0x2,(%ebx)
41196c:	74 ac                	je     0x41191a
41196e:	83 7f 20 02          	cmpl   $0x2,0x20(%edi)
411972:	75 25                	jne    0x411999
411974:	83 3b 05             	cmpl   $0x5,(%ebx)
411977:	7c 20                	jl     0x411999
411979:	ff 75 30             	push   0x30(%ebp)
41197c:	ff 75 20             	push   0x20(%ebp)
41197f:	57                   	push   %edi
411980:	53                   	push   %ebx
411981:	ff 75 10             	push   0x10(%ebp)
411984:	ff 75 08             	push   0x8(%ebp)
411987:	e8 ac 03 00 00       	call   0x411d38
41198c:	8b f0                	mov    %eax,%esi
41198e:	85 f6                	test   %esi,%esi
411990:	79 88                	jns    0x41191a
411992:	68 54 29 45 00       	push   $0x452954
411997:	eb a4                	jmp    0x41193d
411999:	57                   	push   %edi
41199a:	53                   	push   %ebx
41199b:	ff 75 08             	push   0x8(%ebp)
41199e:	e8 c7 fd ff ff       	call   0x41176a
4119a3:	8b f0                	mov    %eax,%esi
4119a5:	85 f6                	test   %esi,%esi
4119a7:	0f 89 6d ff ff ff    	jns    0x41191a
4119ad:	ff 37                	push   (%edi)
4119af:	68 74 29 45 00       	push   $0x452974
4119b4:	56                   	push   %esi
4119b5:	e8 75 e7 02 00       	call   0x44012f
4119ba:	83 c4 0c             	add    $0xc,%esp
4119bd:	eb 86                	jmp    0x411945
4119bf:	55                   	push   %ebp
4119c0:	8b ec                	mov    %esp,%ebp
4119c2:	56                   	push   %esi
4119c3:	57                   	push   %edi
4119c4:	8b 7d 0c             	mov    0xc(%ebp),%edi
4119c7:	33 f6                	xor    %esi,%esi
4119c9:	85 ff                	test   %edi,%edi
4119cb:	74 3e                	je     0x411a0b
4119cd:	53                   	push   %ebx
4119ce:	8b 5d 10             	mov    0x10(%ebp),%ebx
4119d1:	39 33                	cmp    %esi,(%ebx)
4119d3:	74 15                	je     0x4119ea
4119d5:	ff 75 08             	push   0x8(%ebp)
4119d8:	e8 19 1d 00 00       	call   0x4136f6
4119dd:	8b f0                	mov    %eax,%esi
4119df:	85 f6                	test   %esi,%esi
4119e1:	79 07                	jns    0x4119ea
4119e3:	68 d0 29 45 00       	push   $0x4529d0
4119e8:	eb 14                	jmp    0x4119fe
4119ea:	57                   	push   %edi
4119eb:	ff 75 08             	push   0x8(%ebp)
4119ee:	e8 95 1c 00 00       	call   0x413688
4119f3:	8b f0                	mov    %eax,%esi
4119f5:	85 f6                	test   %esi,%esi
4119f7:	79 0f                	jns    0x411a08
4119f9:	68 b0 25 45 00       	push   $0x4525b0
4119fe:	56                   	push   %esi
4119ff:	e8 2b e7 02 00       	call   0x44012f
411a04:	59                   	pop    %ecx
411a05:	59                   	pop    %ecx
411a06:	eb 02                	jmp    0x411a0a
411a08:	89 3b                	mov    %edi,(%ebx)
411a0a:	5b                   	pop    %ebx
411a0b:	5f                   	pop    %edi
411a0c:	8b c6                	mov    %esi,%eax
411a0e:	5e                   	pop    %esi
411a0f:	5d                   	pop    %ebp
411a10:	c2 0c 00             	ret    $0xc
411a13:	55                   	push   %ebp
411a14:	8b ec                	mov    %esp,%ebp
411a16:	8b 45 08             	mov    0x8(%ebp),%eax
411a19:	53                   	push   %ebx
411a1a:	56                   	push   %esi
411a1b:	33 db                	xor    %ebx,%ebx
411a1d:	57                   	push   %edi
411a1e:	8b 78 50             	mov    0x50(%eax),%edi
411a21:	8b f3                	mov    %ebx,%esi
411a23:	8b cb                	mov    %ebx,%ecx
411a25:	85 ff                	test   %edi,%edi
411a27:	74 44                	je     0x411a6d
411a29:	8b 40 4c             	mov    0x4c(%eax),%eax
411a2c:	8b 55 0c             	mov    0xc(%ebp),%edx
411a2f:	83 38 0a             	cmpl   $0xa,(%eax)
411a32:	75 09                	jne    0x411a3d
411a34:	39 50 0c             	cmp    %edx,0xc(%eax)
411a37:	75 04                	jne    0x411a3d
411a39:	8b f0                	mov    %eax,%esi
411a3b:	eb 1e                	jmp    0x411a5b
411a3d:	83 38 0b             	cmpl   $0xb,(%eax)
411a40:	75 0a                	jne    0x411a4c
411a42:	39 50 0c             	cmp    %edx,0xc(%eax)
411a45:	75 05                	jne    0x411a4c
411a47:	39 58 1c             	cmp    %ebx,0x1c(%eax)
411a4a:	75 19                	jne    0x411a65
411a4c:	83 38 0c             	cmpl   $0xc,(%eax)
411a4f:	75 0a                	jne    0x411a5b
411a51:	39 50 0c             	cmp    %edx,0xc(%eax)
411a54:	75 05                	jne    0x411a5b
411a56:	39 58 20             	cmp    %ebx,0x20(%eax)
411a59:	75 0f                	jne    0x411a6a
411a5b:	41                   	inc    %ecx
411a5c:	83 c0 28             	add    $0x28,%eax
411a5f:	3b cf                	cmp    %edi,%ecx
411a61:	72 cc                	jb     0x411a2f
411a63:	eb 08                	jmp    0x411a6d
411a65:	89 58 1c             	mov    %ebx,0x1c(%eax)
411a68:	eb 03                	jmp    0x411a6d
411a6a:	89 58 20             	mov    %ebx,0x20(%eax)
411a6d:	5f                   	pop    %edi
411a6e:	8b c6                	mov    %esi,%eax
411a70:	5e                   	pop    %esi
411a71:	5b                   	pop    %ebx
411a72:	5d                   	pop    %ebp
411a73:	c2 08 00             	ret    $0x8
411a76:	55                   	push   %ebp
411a77:	8b ec                	mov    %esp,%ebp
411a79:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
411a7d:	b8 d4 38 45 00       	mov    $0x4538d4,%eax
411a82:	53                   	push   %ebx
411a83:	8b 5d 10             	mov    0x10(%ebp),%ebx
411a86:	57                   	push   %edi
411a87:	bf cc 38 45 00       	mov    $0x4538cc,%edi
411a8c:	0f 44 f8             	cmove  %eax,%edi
411a8f:	85 db                	test   %ebx,%ebx
411a91:	0f 84 9c 00 00 00    	je     0x411b33
411a97:	56                   	push   %esi
411a98:	8b 75 0c             	mov    0xc(%ebp),%esi
411a9b:	33 c9                	xor    %ecx,%ecx
411a9d:	83 c6 10             	add    $0x10,%esi
411aa0:	41                   	inc    %ecx
411aa1:	83 7e f0 06          	cmpl   $0x6,-0x10(%esi)
411aa5:	75 7f                	jne    0x411b26
411aa7:	8b 06                	mov    (%esi),%eax
411aa9:	85 c0                	test   %eax,%eax
411aab:	74 79                	je     0x411b26
411aad:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
411ab1:	74 05                	je     0x411ab8
411ab3:	8b 40 5c             	mov    0x5c(%eax),%eax
411ab6:	eb 03                	jmp    0x411abb
411ab8:	8b 40 60             	mov    0x60(%eax),%eax
411abb:	3b c1                	cmp    %ecx,%eax
411abd:	75 21                	jne    0x411ae0
411abf:	57                   	push   %edi
411ac0:	51                   	push   %ecx
411ac1:	e8 ea 20 00 00       	call   0x413bb0
411ac6:	50                   	push   %eax
411ac7:	8b 06                	mov    (%esi),%eax
411ac9:	ff 30                	push   (%eax)
411acb:	ff 76 14             	push   0x14(%esi)
411ace:	e8 dd 20 00 00       	call   0x413bb0
411ad3:	50                   	push   %eax
411ad4:	8b 46 f8             	mov    -0x8(%esi),%eax
411ad7:	ff 30                	push   (%eax)
411ad9:	68 cd 00 00 a0       	push   $0xa00000cd
411ade:	eb 36                	jmp    0x411b16
411ae0:	7e 44                	jle    0x411b26
411ae2:	83 7e 04 00          	cmpl   $0x0,0x4(%esi)
411ae6:	74 3e                	je     0x411b26
411ae8:	39 4e 14             	cmp    %ecx,0x14(%esi)
411aeb:	7e 39                	jle    0x411b26
411aed:	83 f8 05             	cmp    $0x5,%eax
411af0:	75 05                	jne    0x411af7
411af2:	39 46 14             	cmp    %eax,0x14(%esi)
411af5:	75 2f                	jne    0x411b26
411af7:	57                   	push   %edi
411af8:	50                   	push   %eax
411af9:	e8 b2 20 00 00       	call   0x413bb0
411afe:	50                   	push   %eax
411aff:	8b 06                	mov    (%esi),%eax
411b01:	ff 30                	push   (%eax)
411b03:	ff 76 14             	push   0x14(%esi)
411b06:	e8 a5 20 00 00       	call   0x413bb0
411b0b:	50                   	push   %eax
411b0c:	8b 46 f8             	mov    -0x8(%esi),%eax
411b0f:	ff 30                	push   (%eax)
411b11:	68 ce 00 00 a0       	push   $0xa00000ce
411b16:	6a 02                	push   $0x2
411b18:	e8 f2 39 ff ff       	call   0x40550f
411b1d:	33 c9                	xor    %ecx,%ecx
411b1f:	83 c4 1c             	add    $0x1c,%esp
411b22:	41                   	inc    %ecx
411b23:	89 4e f4             	mov    %ecx,-0xc(%esi)
411b26:	83 c6 30             	add    $0x30,%esi
411b29:	83 eb 01             	sub    $0x1,%ebx
411b2c:	0f 85 6f ff ff ff    	jne    0x411aa1
411b32:	5e                   	pop    %esi
411b33:	5f                   	pop    %edi
411b34:	33 c0                	xor    %eax,%eax
411b36:	5b                   	pop    %ebx
411b37:	5d                   	pop    %ebp
411b38:	c2 0c 00             	ret    $0xc
411b3b:	55                   	push   %ebp
411b3c:	8b ec                	mov    %esp,%ebp
411b3e:	8b 4d 08             	mov    0x8(%ebp),%ecx