4048cc:	8b 70 08             	mov    0x8(%eax),%esi
4048cf:	8b ce                	mov    %esi,%ecx
4048d1:	ff 15 20 f2 40 00    	call   *0x40f220
4048d7:	ff d6                	call   *%esi
4048d9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4048dc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4048e3:	59                   	pop    %ecx
4048e4:	5e                   	pop    %esi
4048e5:	c9                   	leave
4048e6:	c3                   	ret
4048e7:	8b ff                	mov    %edi,%edi
4048e9:	55                   	push   %ebp
4048ea:	8b ec                	mov    %esp,%ebp
4048ec:	51                   	push   %ecx
4048ed:	51                   	push   %ecx
4048ee:	8b 01                	mov    (%ecx),%eax
4048f0:	57                   	push   %edi
4048f1:	85 c0                	test   %eax,%eax
4048f3:	75 09                	jne    0x4048fe
4048f5:	39 45 08             	cmp    %eax,0x8(%ebp)
4048f8:	75 7a                	jne    0x404974
4048fa:	b0 01                	mov    $0x1,%al
4048fc:	eb 78                	jmp    0x404976
4048fe:	8b 7d 08             	mov    0x8(%ebp),%edi
404901:	85 ff                	test   %edi,%edi
404903:	74 6f                	je     0x404974
404905:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404909:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40490c:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404910:	53                   	push   %ebx
404911:	56                   	push   %esi
404912:	8b 30                	mov    (%eax),%esi
404914:	bb 24 25 40 00       	mov    $0x402524,%ebx
404919:	51                   	push   %ecx
40491a:	53                   	push   %ebx
40491b:	50                   	push   %eax
40491c:	8b 0e                	mov    (%esi),%ecx
40491e:	ff 15 20 f2 40 00    	call   *0x40f220
404924:	ff 16                	call   *(%esi)
404926:	8b 37                	mov    (%edi),%esi
404928:	8d 45 f8             	lea    -0x8(%ebp),%eax
40492b:	50                   	push   %eax
40492c:	53                   	push   %ebx
40492d:	57                   	push   %edi
40492e:	8b 0e                	mov    (%esi),%ecx
404930:	ff 15 20 f2 40 00    	call   *0x40f220
404936:	ff 16                	call   *(%esi)
404938:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40493b:	8b 45 fc             	mov    -0x4(%ebp),%eax
40493e:	3b c1                	cmp    %ecx,%eax
404940:	0f 94 c3             	sete   %bl
404943:	85 c9                	test   %ecx,%ecx
404945:	74 13                	je     0x40495a
404947:	8b 01                	mov    (%ecx),%eax
404949:	51                   	push   %ecx
40494a:	8b 70 08             	mov    0x8(%eax),%esi
40494d:	8b ce                	mov    %esi,%ecx
40494f:	ff 15 20 f2 40 00    	call   *0x40f220
404955:	ff d6                	call   *%esi
404957:	8b 45 fc             	mov    -0x4(%ebp),%eax
40495a:	85 c0                	test   %eax,%eax
40495c:	74 10                	je     0x40496e
40495e:	8b 08                	mov    (%eax),%ecx
404960:	50                   	push   %eax
404961:	8b 71 08             	mov    0x8(%ecx),%esi
404964:	8b ce                	mov    %esi,%ecx
404966:	ff 15 20 f2 40 00    	call   *0x40f220
40496c:	ff d6                	call   *%esi
40496e:	5e                   	pop    %esi
40496f:	8a c3                	mov    %bl,%al
404971:	5b                   	pop    %ebx
404972:	eb 02                	jmp    0x404976
404974:	32 c0                	xor    %al,%al
404976:	5f                   	pop    %edi
404977:	c9                   	leave
404978:	c2 04 00             	ret    $0x4
40497b:	8b ff                	mov    %edi,%edi
40497d:	56                   	push   %esi
40497e:	8b f1                	mov    %ecx,%esi
404980:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
404984:	74 0c                	je     0x404992
404986:	ff 36                	push   (%esi)
404988:	ff 15 64 f0 40 00    	call   *0x40f064
40498e:	c6 46 04 00          	movb   $0x0,0x4(%esi)
404992:	5e                   	pop    %esi
404993:	c3                   	ret
404994:	6a 10                	push   $0x10
404996:	b8 ba a4 40 00       	mov    $0x40a4ba,%eax
40499b:	e8 97 54 00 00       	call   0x409e37
4049a0:	8b d9                	mov    %ecx,%ebx
4049a2:	89 5d e8             	mov    %ebx,-0x18(%ebp)
4049a5:	85 db                	test   %ebx,%ebx
4049a7:	75 07                	jne    0x4049b0
4049a9:	b8 57 00 07 80       	mov    $0x80070057,%eax
4049ae:	eb 56                	jmp    0x404a06
4049b0:	33 ff                	xor    %edi,%edi
4049b2:	6a 0c                	push   $0xc
4049b4:	89 7d fc             	mov    %edi,-0x4(%ebp)
4049b7:	e8 98 43 00 00       	call   0x408d54
4049bc:	59                   	pop    %ecx
4049bd:	eb 0d                	jmp    0x4049cc
4049bf:	b8 c5 49 40 00       	mov    $0x4049c5,%eax
4049c4:	c3                   	ret
4049c5:	8b 5d e8             	mov    -0x18(%ebp),%ebx
4049c8:	33 ff                	xor    %edi,%edi
4049ca:	8b c7                	mov    %edi,%eax
4049cc:	89 45 ec             	mov    %eax,-0x14(%ebp)
4049cf:	85 c0                	test   %eax,%eax
4049d1:	75 07                	jne    0x4049da
4049d3:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
4049d8:	eb 2a                	jmp    0x404a04
4049da:	8d 73 0c             	lea    0xc(%ebx),%esi
4049dd:	c7 00 10 4a 40 00    	movl   $0x404a10,(%eax)
4049e3:	56                   	push   %esi
4049e4:	c7 40 04 60 c0 40 00 	movl   $0x40c060,0x4(%eax)
4049eb:	ff 15 60 f0 40 00    	call   *0x40f060
4049f1:	8b 45 ec             	mov    -0x14(%ebp),%eax
4049f4:	8b 4b 08             	mov    0x8(%ebx),%ecx
4049f7:	56                   	push   %esi
4049f8:	89 48 08             	mov    %ecx,0x8(%eax)
4049fb:	89 43 08             	mov    %eax,0x8(%ebx)
4049fe:	ff 15 64 f0 40 00    	call   *0x40f064
404a04:	8b c7                	mov    %edi,%eax
404a06:	e8 91 53 00 00       	call   0x409d9c
404a0b:	c2 04 00             	ret    $0x4
404a0e:	cc                   	int3
404a0f:	cc                   	int3
404a10:	6a 00                	push   $0x0
404a12:	b8 69 a4 40 00       	mov    $0x40a469,%eax
404a17:	e8 b2 53 00 00       	call   0x409dce
404a1c:	8b 7d 08             	mov    0x8(%ebp),%edi
404a1f:	85 ff                	test   %edi,%edi
404a21:	74 44                	je     0x404a67
404a23:	8b 4f 0c             	mov    0xc(%edi),%ecx
404a26:	85 c9                	test   %ecx,%ecx
404a28:	74 10                	je     0x404a3a
404a2a:	8b 01                	mov    (%ecx),%eax
404a2c:	51                   	push   %ecx
404a2d:	8b 70 08             	mov    0x8(%eax),%esi
404a30:	8b ce                	mov    %esi,%ecx
404a32:	ff 15 20 f2 40 00    	call   *0x40f220
404a38:	ff d6                	call   *%esi
404a3a:	83 67 0c 00          	andl   $0x0,0xc(%edi)
404a3e:	8b 47 14             	mov    0x14(%edi),%eax
404a41:	85 c0                	test   %eax,%eax
404a43:	74 1e                	je     0x404a63
404a45:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404a49:	8d 70 fc             	lea    -0x4(%eax),%esi
404a4c:	68 20 39 40 00       	push   $0x403920
404a51:	ff 36                	push   (%esi)
404a53:	6a 0c                	push   $0xc
404a55:	50                   	push   %eax
404a56:	e8 99 4e 00 00       	call   0x4098f4
404a5b:	56                   	push   %esi
404a5c:	ff 15 fc f1 40 00    	call   *0x40f1fc
404a62:	59                   	pop    %ecx
404a63:	83 67 14 00          	andl   $0x0,0x14(%edi)
404a67:	e8 30 53 00 00       	call   0x409d9c
404a6c:	c2 04 00             	ret    $0x4
404a6f:	cc                   	int3
404a70:	83 21 00             	andl   $0x0,(%ecx)
404a73:	8b c1                	mov    %ecx,%eax
404a75:	83 61 04 00          	andl   $0x0,0x4(%ecx)
404a79:	83 49 08 ff          	orl    $0xffffffff,0x8(%ecx)
404a7d:	c3                   	ret
404a7e:	6a 08                	push   $0x8
404a80:	6a 28                	push   $0x28
404a82:	b8 e8 a4 40 00       	mov    $0x40a4e8,%eax
404a87:	e8 b5 58 00 00       	call   0x40a341
404a8c:	8b 7b 08             	mov    0x8(%ebx),%edi
404a8f:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
404a92:	51                   	push   %ecx
404a93:	57                   	push   %edi
404a94:	8b 07                	mov    (%edi),%eax
404a96:	8b 70 0c             	mov    0xc(%eax),%esi
404a99:	8b ce                	mov    %esi,%ecx
404a9b:	ff 15 20 f2 40 00    	call   *0x40f220
404aa1:	ff d6                	call   *%esi
404aa3:	85 c0                	test   %eax,%eax
404aa5:	0f 88 a6 01 00 00    	js     0x404c51
404aab:	8b 45 d4             	mov    -0x2c(%ebp),%eax
404aae:	33 f6                	xor    %esi,%esi
404ab0:	89 75 e0             	mov    %esi,-0x20(%ebp)
404ab3:	89 75 d8             	mov    %esi,-0x28(%ebp)
404ab6:	0f b7 40 2c          	movzwl 0x2c(%eax),%eax
404aba:	21 35 74 c0 40 00    	and    %esi,0x40c074
404ac0:	89 45 c8             	mov    %eax,-0x38(%ebp)
404ac3:	a3 78 c0 40 00       	mov    %eax,0x40c078
404ac8:	85 c0                	test   %eax,%eax
404aca:	0f 84 92 00 00 00    	je     0x404b62
404ad0:	21 75 fc             	and    %esi,-0x4(%ebp)
404ad3:	33 c9                	xor    %ecx,%ecx
404ad5:	6a 0c                	push   $0xc
404ad7:	5a                   	pop    %edx
404ad8:	f7 e2                	mul    %edx
404ada:	0f 90 c1             	seto   %cl
404add:	f7 d9                	neg    %ecx
404adf:	0b c8                	or     %eax,%ecx
404ae1:	33 c0                	xor    %eax,%eax
404ae3:	83 c1 04             	add    $0x4,%ecx
404ae6:	0f 92 c0             	setb   %al
404ae9:	f7 d8                	neg    %eax
404aeb:	0b c1                	or     %ecx,%eax
404aed:	50                   	push   %eax
404aee:	e8 56 42 00 00       	call   0x408d49
404af3:	59                   	pop    %ecx
404af4:	89 45 c4             	mov    %eax,-0x3c(%ebp)
404af7:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
404afb:	85 c0                	test   %eax,%eax
404afd:	74 20                	je     0x404b1f
404aff:	8b 4d c8             	mov    -0x38(%ebp),%ecx
404b02:	8d 70 04             	lea    0x4(%eax),%esi
404b05:	68 20 39 40 00       	push   $0x403920
404b0a:	68 70 4a 40 00       	push   $0x404a70
404b0f:	51                   	push   %ecx
404b10:	6a 0c                	push   $0xc
404b12:	56                   	push   %esi
404b13:	89 08                	mov    %ecx,(%eax)
404b15:	89 75 e0             	mov    %esi,-0x20(%ebp)
404b18:	e8 34 52 00 00       	call   0x409d51
404b1d:	eb 19                	jmp    0x404b38
404b1f:	33 f6                	xor    %esi,%esi
404b21:	eb 12                	jmp    0x404b35
404b23:	8b 5d ec             	mov    -0x14(%ebp),%ebx
404b26:	b8 2c 4b 40 00       	mov    $0x404b2c,%eax
404b2b:	c3                   	ret
404b2c:	8b 5d ec             	mov    -0x14(%ebp),%ebx
404b2f:	8b 7b 08             	mov    0x8(%ebx),%edi
404b32:	8b 75 d8             	mov    -0x28(%ebp),%esi
404b35:	89 75 e0             	mov    %esi,-0x20(%ebp)
404b38:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404b3c:	85 f6                	test   %esi,%esi
404b3e:	75 1d                	jne    0x404b5d
404b40:	8b 07                	mov    (%edi),%eax
404b42:	ff 75 d4             	push   -0x2c(%ebp)
404b45:	57                   	push   %edi
404b46:	8b 70 4c             	mov    0x4c(%eax),%esi
404b49:	8b ce                	mov    %esi,%ecx
404b4b:	ff 15 20 f2 40 00    	call   *0x40f220
404b51:	ff d6                	call   *%esi
404b53:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
404b58:	e9 f6 00 00 00       	jmp    0x404c53
404b5d:	a1 78 c0 40 00       	mov    0x40c078,%eax
404b62:	33 c9                	xor    %ecx,%ecx
404b64:	89 4d c8             	mov    %ecx,-0x38(%ebp)
404b67:	85 c0                	test   %eax,%eax
404b69:	0f 8e c7 00 00 00    	jle    0x404c36
404b6f:	8d 46 08             	lea    0x8(%esi),%eax
404b72:	89 45 d8             	mov    %eax,-0x28(%ebp)
404b75:	83 60 fc 00          	andl   $0x0,-0x4(%eax)
404b79:	83 20 00             	andl   $0x0,(%eax)
404b7c:	8d 45 dc             	lea    -0x24(%ebp),%eax
404b7f:	8b 37                	mov    (%edi),%esi
404b81:	50                   	push   %eax
404b82:	51                   	push   %ecx
404b83:	57                   	push   %edi
404b84:	8b 76 14             	mov    0x14(%esi),%esi
404b87:	8b ce                	mov    %esi,%ecx
404b89:	ff 15 20 f2 40 00    	call   *0x40f220
404b8f:	ff d6                	call   *%esi
404b91:	85 c0                	test   %eax,%eax
404b93:	0f 88 81 00 00 00    	js     0x404c1a
404b99:	33 c0                	xor    %eax,%eax
404b9b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404b9e:	50                   	push   %eax
404b9f:	50                   	push   %eax
404ba0:	50                   	push   %eax
404ba1:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
404ba8:	8d 45 e4             	lea    -0x1c(%ebp),%eax
404bab:	8b 37                	mov    (%edi),%esi
404bad:	50                   	push   %eax
404bae:	8b 45 dc             	mov    -0x24(%ebp),%eax
404bb1:	8b 76 30             	mov    0x30(%esi),%esi
404bb4:	8b ce                	mov    %esi,%ecx
404bb6:	ff 30                	push   (%eax)
404bb8:	57                   	push   %edi
404bb9:	ff 15 20 f2 40 00    	call   *0x40f220
404bbf:	ff d6                	call   *%esi
404bc1:	85 c0                	test   %eax,%eax
404bc3:	78 34                	js     0x404bf9
404bc5:	8b 75 d8             	mov    -0x28(%ebp),%esi
404bc8:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
404bcb:	83 65 e4 00          	andl   $0x0,-0x1c(%ebp)
404bcf:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
404bd2:	8b 46 f8             	mov    -0x8(%esi),%eax
404bd5:	3b c1                	cmp    %ecx,%eax
404bd7:	74 0d                	je     0x404be6
404bd9:	50                   	push   %eax
404bda:	ff 15 d0 f0 40 00    	call   *0x40f0d0
404be0:	8b 45 c4             	mov    -0x3c(%ebp),%eax
404be3:	89 46 f8             	mov    %eax,-0x8(%esi)
404be6:	50                   	push   %eax
404be7:	ff 15 e4 f0 40 00    	call   *0x40f0e4
404bed:	8b 4d dc             	mov    -0x24(%ebp),%ecx
404bf0:	89 46 fc             	mov    %eax,-0x4(%esi)
404bf3:	8b 01                	mov    (%ecx),%eax
404bf5:	89 06                	mov    %eax,(%esi)
404bf7:	eb 03                	jmp    0x404bfc
404bf9:	8b 4d dc             	mov    -0x24(%ebp),%ecx
404bfc:	8b 07                	mov    (%edi),%eax
404bfe:	51                   	push   %ecx
404bff:	57                   	push   %edi
404c00:	8b 70 50             	mov    0x50(%eax),%esi
404c03:	8b ce                	mov    %esi,%ecx
404c05:	ff 15 20 f2 40 00    	call   *0x40f220
404c0b:	ff d6                	call   *%esi
404c0d:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
404c11:	ff 75 e4             	push   -0x1c(%ebp)
404c14:	ff 15 d0 f0 40 00    	call   *0x40f0d0
404c1a:	8b 4d c8             	mov    -0x38(%ebp),%ecx
404c1d:	8b 45 d8             	mov    -0x28(%ebp),%eax
404c20:	41                   	inc    %ecx
404c21:	83 c0 0c             	add    $0xc,%eax
404c24:	89 4d c8             	mov    %ecx,-0x38(%ebp)
404c27:	89 45 d8             	mov    %eax,-0x28(%ebp)
404c2a:	3b 0d 78 c0 40 00    	cmp    0x40c078,%ecx
404c30:	0f 8c 3f ff ff ff    	jl     0x404b75
404c36:	8b 45 e0             	mov    -0x20(%ebp),%eax
404c39:	ff 75 d4             	push   -0x2c(%ebp)
404c3c:	a3 74 c0 40 00       	mov    %eax,0x40c074
404c41:	8b 07                	mov    (%edi),%eax
404c43:	57                   	push   %edi
404c44:	8b 70 4c             	mov    0x4c(%eax),%esi
404c47:	8b ce                	mov    %esi,%ecx
404c49:	ff 15 20 f2 40 00    	call   *0x40f220
404c4f:	ff d6                	call   *%esi
404c51:	33 c0                	xor    %eax,%eax
404c53:	e8 d3 56 00 00       	call   0x40a32b
404c58:	c2 04 00             	ret    $0x4
404c5b:	68 28 02 00 00       	push   $0x228
404c60:	b8 2f a5 40 00       	mov    $0x40a52f,%eax
404c65:	e8 97 51 00 00       	call   0x409e01
404c6a:	83 3d 6c c0 40 00 00 	cmpl   $0x0,0x40c06c
404c71:	74 10                	je     0x404c83
404c73:	83 3d 74 c0 40 00 00 	cmpl   $0x0,0x40c074
404c7a:	74 07                	je     0x404c83
404c7c:	33 c0                	xor    %eax,%eax
404c7e:	e9 8d 02 00 00       	jmp    0x404f10
404c83:	a1 a4 c5 40 00       	mov    0x40c5a4,%eax
404c88:	83 c0 10             	add    $0x10,%eax
404c8b:	89 85 cc fd ff ff    	mov    %eax,-0x234(%ebp)
404c91:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
404c95:	50                   	push   %eax
404c96:	ff 15 60 f0 40 00    	call   *0x40f060
404c9c:	83 3d 6c c0 40 00 00 	cmpl   $0x0,0x40c06c
404ca3:	bf 05 40 00 80       	mov    $0x80004005,%edi
404ca8:	c6 85 d0 fd ff ff 01 	movb   $0x1,-0x230(%ebp)
404caf:	0f 85 31 02 00 00    	jne    0x404ee6
404cb5:	83 a5 d8 fd ff ff 00 	andl   $0x0,-0x228(%ebp)
404cbc:	b9 b0 c5 40 00       	mov    $0x40c5b0,%ecx