4057d3:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
4057d9:	89 1d 74 25 43 00    	mov    %ebx,0x432574
4057df:	50                   	push   %eax
4057e0:	6a 72                	push   $0x72
4057e2:	ff 35 0c 19 41 00    	push   0x41190c
4057e8:	ff 15 20 33 43 00    	call   *0x433320
4057ee:	8b 95 3c ff ff ff    	mov    -0xc4(%ebp),%edx
4057f4:	8b cf                	mov    %edi,%ecx
4057f6:	e8 1e f8 ff ff       	call   0x405019
4057fb:	33 db                	xor    %ebx,%ebx
4057fd:	53                   	push   %ebx
4057fe:	ff 35 0c 19 41 00    	push   0x41190c
405804:	53                   	push   %ebx
405805:	57                   	push   %edi
405806:	ff b5 40 ff ff ff    	push   -0xc0(%ebp)
40580c:	ff b5 3c ff ff ff    	push   -0xc4(%ebp)
405812:	ff b5 4c ff ff ff    	push   -0xb4(%ebp)
405818:	50                   	push   %eax
405819:	68 00 00 c8 00       	push   $0xc80000
40581e:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
405824:	50                   	push   %eax
405825:	68 24 15 40 00       	push   $0x401524
40582a:	56                   	push   %esi
40582b:	ff 15 e8 31 43 00    	call   *0x4331e8
405831:	8b f0                	mov    %eax,%esi
405833:	85 f6                	test   %esi,%esi
405835:	0f 84 63 01 00 00    	je     0x40599e
40583b:	bf 5c 15 40 00       	mov    $0x40155c,%edi
405840:	c7 85 58 ff ff ff 1c 	movl   $0x1c,-0xa8(%ebp)
405847:	00 00 00
40584a:	89 35 88 25 43 00    	mov    %esi,0x432588
405850:	39 1d 6c 25 43 00    	cmp    %ebx,0x43256c
405856:	0f 84 92 00 00 00    	je     0x4058ee
40585c:	8b 0d f0 18 41 00    	mov    0x4118f0,%ecx
405862:	a1 f4 18 41 00       	mov    0x4118f4,%eax
405867:	0f af 0d 68 25 43 00 	imul   0x432568,%ecx
40586e:	0f af 05 64 25 43 00 	imul   0x432564,%eax
405875:	53                   	push   %ebx
405876:	ff 35 0c 19 41 00    	push   0x41190c
40587c:	03 0d f8 18 41 00    	add    0x4118f8,%ecx
405882:	68 2e 01 00 00       	push   $0x12e
405887:	56                   	push   %esi
405888:	53                   	push   %ebx
405889:	50                   	push   %eax
40588a:	51                   	push   %ecx
40588b:	ff 35 dc 18 41 00    	push   0x4118dc
405891:	68 02 00 00 50       	push   $0x50000002
405896:	57                   	push   %edi
405897:	68 10 15 40 00       	push   $0x401510
40589c:	53                   	push   %ebx
40589d:	ff 15 e8 31 43 00    	call   *0x4331e8
4058a3:	8b 0d 6c 25 43 00    	mov    0x43256c,%ecx
4058a9:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
4058af:	8b 0d 64 25 43 00    	mov    0x432564,%ecx
4058b5:	6a 01                	push   $0x1
4058b7:	89 8d 68 ff ff ff    	mov    %ecx,-0x98(%ebp)
4058bd:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
4058c3:	51                   	push   %ecx
4058c4:	6a 02                	push   $0x2
4058c6:	50                   	push   %eax
4058c7:	a3 c8 18 41 00       	mov    %eax,0x4118c8
4058cc:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
4058d2:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
4058d8:	c7 85 5c ff ff ff 07 	movl   $0x7,-0xa4(%ebp)
4058df:	00 00 00
4058e2:	ff 15 18 32 43 00    	call   *0x433218
4058e8:	89 1d 6c 25 43 00    	mov    %ebx,0x43256c
4058ee:	39 1d 70 25 43 00    	cmp    %ebx,0x432570
4058f4:	0f 84 9b 00 00 00    	je     0x405995
4058fa:	a1 f0 18 41 00       	mov    0x4118f0,%eax
4058ff:	0f af 05 68 25 43 00 	imul   0x432568,%eax
405906:	8b 0d f4 18 41 00    	mov    0x4118f4,%ecx
40590c:	0f af 0d 64 25 43 00 	imul   0x432564,%ecx
405913:	53                   	push   %ebx
405914:	ff 35 0c 19 41 00    	push   0x41190c
40591a:	68 2f 01 00 00       	push   $0x12f
40591f:	03 0d e8 18 41 00    	add    0x4118e8,%ecx
405925:	03 0d dc 18 41 00    	add    0x4118dc,%ecx
40592b:	56                   	push   %esi
40592c:	50                   	push   %eax
40592d:	53                   	push   %ebx
40592e:	ff 35 f8 18 41 00    	push   0x4118f8
405934:	51                   	push   %ecx
405935:	68 03 00 00 50       	push   $0x50000003
40593a:	57                   	push   %edi
40593b:	68 10 15 40 00       	push   $0x401510
405940:	53                   	push   %ebx
405941:	ff 15 e8 31 43 00    	call   *0x4331e8
405947:	8b 0d 70 25 43 00    	mov    0x432570,%ecx
40594d:	8b 15 68 25 43 00    	mov    0x432568,%edx
405953:	49                   	dec    %ecx
405954:	03 ca                	add    %edx,%ecx
405956:	a3 c4 18 41 00       	mov    %eax,0x4118c4
40595b:	6a 01                	push   $0x1
40595d:	89 8d 64 ff ff ff    	mov    %ecx,-0x9c(%ebp)
405963:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
405969:	51                   	push   %ecx
40596a:	6a 02                	push   $0x2
40596c:	50                   	push   %eax
40596d:	89 9d 60 ff ff ff    	mov    %ebx,-0xa0(%ebp)
405973:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
405979:	89 95 68 ff ff ff    	mov    %edx,-0x98(%ebp)
40597f:	c7 85 5c ff ff ff 07 	movl   $0x7,-0xa4(%ebp)
405986:	00 00 00
405989:	ff 15 18 32 43 00    	call   *0x433218
40598f:	89 1d 70 25 43 00    	mov    %ebx,0x432570
405995:	6a 01                	push   $0x1
405997:	56                   	push   %esi
405998:	ff 15 f4 31 43 00    	call   *0x4331f4
40599e:	ff b5 44 ff ff ff    	push   -0xbc(%ebp)
4059a4:	8b 35 88 25 43 00    	mov    0x432588,%esi
4059aa:	ff 15 e4 31 43 00    	call   *0x4331e4
4059b0:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4059b3:	8b c6                	mov    %esi,%eax
4059b5:	5f                   	pop    %edi
4059b6:	5e                   	pop    %esi
4059b7:	33 cd                	xor    %ebp,%ecx
4059b9:	5b                   	pop    %ebx
4059ba:	e8 71 aa 00 00       	call   0x410430
4059bf:	c9                   	leave
4059c0:	c2 04 00             	ret    $0x4
4059c3:	8b ff                	mov    %edi,%edi
4059c5:	55                   	push   %ebp
4059c6:	8b ec                	mov    %esp,%ebp
4059c8:	83 ec 2c             	sub    $0x2c,%esp
4059cb:	a1 64 10 41 00       	mov    0x411064,%eax
4059d0:	33 c5                	xor    %ebp,%eax
4059d2:	89 45 fc             	mov    %eax,-0x4(%ebp)
4059d5:	33 c0                	xor    %eax,%eax
4059d7:	53                   	push   %ebx
4059d8:	8b 59 08             	mov    0x8(%ecx),%ebx
4059db:	a3 70 25 43 00       	mov    %eax,0x432570
4059e0:	a3 6c 25 43 00       	mov    %eax,0x43256c
4059e5:	89 45 e0             	mov    %eax,-0x20(%ebp)
4059e8:	0f b7 53 0e          	movzwl 0xe(%ebx),%edx
4059ec:	a3 ac 10 41 00       	mov    %eax,0x4110ac
4059f1:	8b ca                	mov    %edx,%ecx
4059f3:	0f af 0d f4 18 41 00 	imul   0x4118f4,%ecx
4059fa:	a3 a8 10 41 00       	mov    %eax,0x4110a8
4059ff:	a3 68 25 43 00       	mov    %eax,0x432568
405a04:	a3 60 25 43 00       	mov    %eax,0x432560
405a09:	a3 c4 18 41 00       	mov    %eax,0x4118c4
405a0e:	a3 c8 18 41 00       	mov    %eax,0x4118c8
405a13:	a1 ec 18 41 00       	mov    0x4118ec,%eax
405a18:	03 05 f8 18 41 00    	add    0x4118f8,%eax
405a1e:	56                   	push   %esi
405a1f:	8b 75 0c             	mov    0xc(%ebp),%esi
405a22:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405a25:	a1 fc 18 41 00       	mov    0x4118fc,%eax
405a2a:	57                   	push   %edi
405a2b:	6a 0a                	push   $0xa
405a2d:	89 5d e8             	mov    %ebx,-0x18(%ebp)
405a30:	8d 3c 41             	lea    (%ecx,%eax,2),%edi
405a33:	89 15 64 25 43 00    	mov    %edx,0x432564
405a39:	0f b7 43 0c          	movzwl 0xc(%ebx),%eax
405a3d:	5b                   	pop    %ebx
405a3e:	66 3b c3             	cmp    %bx,%ax
405a41:	76 27                	jbe    0x405a6a
405a43:	6a 02                	push   $0x2
405a45:	ff 15 ec 31 43 00    	call   *0x4331ec
405a4b:	03 f8                	add    %eax,%edi
405a4d:	8b 45 e8             	mov    -0x18(%ebp),%eax
405a50:	03 3d e8 18 41 00    	add    0x4118e8,%edi
405a56:	0f b7 40 0c          	movzwl 0xc(%eax),%eax
405a5a:	2b c3                	sub    %ebx,%eax
405a5c:	a3 70 25 43 00       	mov    %eax,0x432570
405a61:	6b 05 f0 18 41 00 0a 	imul   $0xa,0x4118f0,%eax
405a68:	eb 09                	jmp    0x405a73
405a6a:	8b d8                	mov    %eax,%ebx
405a6c:	0f af 05 f0 18 41 00 	imul   0x4118f0,%eax
405a73:	03 45 e4             	add    -0x1c(%ebp),%eax
405a76:	89 45 e8             	mov    %eax,-0x18(%ebp)
405a79:	33 c0                	xor    %eax,%eax
405a7b:	50                   	push   %eax
405a7c:	89 1d 68 25 43 00    	mov    %ebx,0x432568
405a82:	89 3e                	mov    %edi,(%esi)
405a84:	ff 15 f0 32 43 00    	call   *0x4332f0
405a8a:	ff 35 7c 25 43 00    	push   0x43257c
405a90:	8b f8                	mov    %eax,%edi
405a92:	57                   	push   %edi
405a93:	ff 15 ac 30 43 00    	call   *0x4330ac
405a99:	8b 15 c0 18 41 00    	mov    0x4118c0,%edx
405a9f:	8b d8                	mov    %eax,%ebx
405aa1:	8b ca                	mov    %edx,%ecx
405aa3:	8d 41 02             	lea    0x2(%ecx),%eax
405aa6:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405aa9:	66 8b 01             	mov    (%ecx),%ax
405aac:	83 c1 02             	add    $0x2,%ecx
405aaf:	66 3b 45 e0          	cmp    -0x20(%ebp),%ax
405ab3:	75 f4                	jne    0x405aa9
405ab5:	2b 4d e4             	sub    -0x1c(%ebp),%ecx
405ab8:	8d 45 d8             	lea    -0x28(%ebp),%eax
405abb:	50                   	push   %eax
405abc:	d1 f9                	sar    $1,%ecx
405abe:	51                   	push   %ecx
405abf:	52                   	push   %edx
405ac0:	57                   	push   %edi
405ac1:	ff 15 8c 30 43 00    	call   *0x43308c
405ac7:	53                   	push   %ebx
405ac8:	57                   	push   %edi
405ac9:	ff 15 ac 30 43 00    	call   *0x4330ac
405acf:	57                   	push   %edi
405ad0:	33 c0                	xor    %eax,%eax
405ad2:	50                   	push   %eax
405ad3:	ff 15 08 33 43 00    	call   *0x433308
405ad9:	8b 4d d8             	mov    -0x28(%ebp),%ecx
405adc:	a1 e4 18 41 00       	mov    0x4118e4,%eax
405ae1:	8b 1d 64 25 43 00    	mov    0x432564,%ebx
405ae7:	8b 3d f4 18 41 00    	mov    0x4118f4,%edi
405aed:	8d 04 41             	lea    (%ecx,%eax,2),%eax
405af0:	89 45 d8             	mov    %eax,-0x28(%ebp)
405af3:	39 06                	cmp    %eax,(%esi)
405af5:	7d 10                	jge    0x405b07
405af7:	8b cf                	mov    %edi,%ecx
405af9:	89 06                	mov    %eax,(%esi)
405afb:	0f af cb             	imul   %ebx,%ecx
405afe:	2b c1                	sub    %ecx,%eax
405b00:	99                   	cltd
405b01:	2b c2                	sub    %edx,%eax
405b03:	d1 f8                	sar    $1,%eax
405b05:	eb 05                	jmp    0x405b0c
405b07:	a1 fc 18 41 00       	mov    0x4118fc,%eax
405b0c:	8b 4d e8             	mov    -0x18(%ebp),%ecx
405b0f:	89 4e 04             	mov    %ecx,0x4(%esi)
405b12:	8b 0d f8 18 41 00    	mov    0x4118f8,%ecx
405b18:	0f af fb             	imul   %ebx,%edi
405b1b:	33 db                	xor    %ebx,%ebx
405b1d:	a3 cc 18 41 00       	mov    %eax,0x4118cc
405b22:	a3 dc 18 41 00       	mov    %eax,0x4118dc
405b27:	89 0d d0 18 41 00    	mov    %ecx,0x4118d0
405b2d:	03 f8                	add    %eax,%edi
405b2f:	a1 f0 18 41 00       	mov    0x4118f0,%eax
405b34:	0f af 05 68 25 43 00 	imul   0x432568,%eax
405b3b:	89 3d d4 18 41 00    	mov    %edi,0x4118d4
405b41:	03 c1                	add    %ecx,%eax
405b43:	a3 d8 18 41 00       	mov    %eax,0x4118d8
405b48:	8d 45 ec             	lea    -0x14(%ebp),%eax
405b4b:	ff 76 04             	push   0x4(%esi)
405b4e:	ff 36                	push   (%esi)
405b50:	53                   	push   %ebx
405b51:	53                   	push   %ebx
405b52:	50                   	push   %eax
405b53:	ff 15 1c 32 43 00    	call   *0x43321c
405b59:	ff 75 08             	push   0x8(%ebp)
405b5c:	8d 45 ec             	lea    -0x14(%ebp),%eax
405b5f:	53                   	push   %ebx
405b60:	68 00 00 c8 00       	push   $0xc80000
405b65:	50                   	push   %eax
405b66:	ff 15 20 32 43 00    	call   *0x433220
405b6c:	8b 45 f4             	mov    -0xc(%ebp),%eax
405b6f:	2b 45 ec             	sub    -0x14(%ebp),%eax
405b72:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405b75:	89 06                	mov    %eax,(%esi)
405b77:	33 cd                	xor    %ebp,%ecx
405b79:	8b 45 f8             	mov    -0x8(%ebp),%eax
405b7c:	2b 45 f0             	sub    -0x10(%ebp),%eax
405b7f:	5f                   	pop    %edi
405b80:	89 46 04             	mov    %eax,0x4(%esi)
405b83:	5e                   	pop    %esi
405b84:	5b                   	pop    %ebx
405b85:	e8 a6 a8 00 00       	call   0x410430
405b8a:	c9                   	leave
405b8b:	c2 10 00             	ret    $0x10
405b8e:	cc                   	int3
405b8f:	cc                   	int3
405b90:	8b ff                	mov    %edi,%edi
405b92:	55                   	push   %ebp
405b93:	8b ec                	mov    %esp,%ebp
405b95:	83 e4 f8             	and    $0xfffffff8,%esp
405b98:	81 ec b4 00 00 00    	sub    $0xb4,%esp
405b9e:	a1 64 10 41 00       	mov    0x411064,%eax
405ba3:	33 c4                	xor    %esp,%eax
405ba5:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%esp)
405bac:	53                   	push   %ebx
405bad:	56                   	push   %esi
405bae:	8b 75 08             	mov    0x8(%ebp),%esi
405bb1:	b8 11 01 00 00       	mov    $0x111,%eax
405bb6:	57                   	push   %edi
405bb7:	8b 7d 0c             	mov    0xc(%ebp),%edi
405bba:	89 74 24 20          	mov    %esi,0x20(%esp)
405bbe:	3b f8                	cmp    %eax,%edi
405bc0:	0f 87 f2 06 00 00    	ja     0x4062b8
405bc6:	0f 84 d9 06 00 00    	je     0x4062a5
405bcc:	8b c7                	mov    %edi,%eax
405bce:	83 e8 01             	sub    $0x1,%eax
405bd1:	0f 84 f8 08 00 00    	je     0x4064cf
405bd7:	83 e8 01             	sub    $0x1,%eax
405bda:	0f 84 95 06 00 00    	je     0x406275
405be0:	83 e8 0d             	sub    $0xd,%eax
405be3:	0f 84 03 06 00 00    	je     0x4061ec
405be9:	83 e8 01             	sub    $0x1,%eax
405bec:	0f 84 6c 05 00 00    	je     0x40615e
405bf2:	2d f0 00 00 00       	sub    $0xf0,%eax
405bf7:	0f 84 5a 01 00 00    	je     0x405d57
405bfd:	48                   	dec    %eax
405bfe:	83 e8 01             	sub    $0x1,%eax
405c01:	0f 85 dc 06 00 00    	jne    0x4062e3
405c07:	a1 ac 10 41 00       	mov    0x4110ac,%eax
405c0c:	89 44 24 1c          	mov    %eax,0x1c(%esp)
405c10:	a1 a8 10 41 00       	mov    0x4110a8,%eax
405c15:	56                   	push   %esi
405c16:	89 44 24 28          	mov    %eax,0x28(%esp)
405c1a:	ff 15 f0 32 43 00    	call   *0x4332f0
405c20:	8b 3d 64 25 43 00    	mov    0x432564,%edi
405c26:	33 db                	xor    %ebx,%ebx
405c28:	66 8b 4d 10          	mov    0x10(%ebp),%cx
405c2c:	89 44 24 14          	mov    %eax,0x14(%esp)
405c30:	a1 68 25 43 00       	mov    0x432568,%eax
405c35:	48                   	dec    %eax
405c36:	66 89 4c 24 10       	mov    %cx,0x10(%esp)
405c3b:	4f                   	dec    %edi
405c3c:	a3 ac 10 41 00       	mov    %eax,0x4110ac
405c41:	43                   	inc    %ebx
405c42:	8b d7                	mov    %edi,%edx
405c44:	89 3d a8 10 41 00    	mov    %edi,0x4110a8
405c4a:	8b c8                	mov    %eax,%ecx
405c4c:	e8 49 0e 00 00       	call   0x406a9a
405c51:	85 c0                	test   %eax,%eax
405c53:	74 2b                	je     0x405c80
405c55:	8d 4c 24 18          	lea    0x18(%esp),%ecx
405c59:	e8 12 0e 00 00       	call   0x406a70
405c5e:	53                   	push   %ebx
405c5f:	8d 44 24 14          	lea    0x14(%esp),%eax
405c63:	50                   	push   %eax
405c64:	53                   	push   %ebx
405c65:	8b c1                	mov    %ecx,%eax
405c67:	50                   	push   %eax
405c68:	68 03 00 03 00       	push   $0x30003
405c6d:	6a 00                	push   $0x0
405c6f:	ff 15 c0 31 43 00    	call   *0x4331c0
405c75:	8b 3d a8 10 41 00    	mov    0x4110a8,%edi
405c7b:	83 f8 02             	cmp    $0x2,%eax
405c7e:	74 29                	je     0x405ca9
405c80:	a1 ac 10 41 00       	mov    0x4110ac,%eax
405c85:	83 ef 01             	sub    $0x1,%edi
405c88:	8b d7                	mov    %edi,%edx
405c8a:	89 3d a8 10 41 00    	mov    %edi,0x4110a8
405c90:	79 b8                	jns    0x405c4a
405c92:	83 e8 01             	sub    $0x1,%eax
405c95:	a3 ac 10 41 00       	mov    %eax,0x4110ac
405c9a:	0f 88 95 00 00 00    	js     0x405d35
405ca0:	8b 3d 64 25 43 00    	mov    0x432564,%edi
405ca6:	4f                   	dec    %edi
405ca7:	eb 99                	jmp    0x405c42
405ca9:	8b 44 24 1c          	mov    0x1c(%esp),%eax
405cad:	8d 4c 24 28          	lea    0x28(%esp),%ecx
405cb1:	8b 35 ac 10 41 00    	mov    0x4110ac,%esi
405cb7:	a3 ac 10 41 00       	mov    %eax,0x4110ac
405cbc:	8b 44 24 24          	mov    0x24(%esp),%eax
405cc0:	a3 a8 10 41 00       	mov    %eax,0x4110a8