45f877:	0f 84 2a 00 00 00    	je     0x45f8a7
45f87d:	8b df                	mov    %edi,%ebx
45f87f:	52                   	push   %edx
45f880:	53                   	push   %ebx
45f881:	68 18 00 00 00       	push   $0x18
45f886:	e8 13 0d 04 00       	call   0x4a059e
45f88b:	83 c4 04             	add    $0x4,%esp
45f88e:	5b                   	pop    %ebx
45f88f:	53                   	push   %ebx
45f890:	89 03                	mov    %eax,(%ebx)
45f892:	8b d8                	mov    %eax,%ebx
45f894:	8b f8                	mov    %eax,%edi
45f896:	33 c0                	xor    %eax,%eax
45f898:	b9 06 00 00 00       	mov    $0x6,%ecx
45f89d:	f3 ab                	rep stos %eax,%es:(%edi)
45f89f:	5b                   	pop    %ebx
45f8a0:	5a                   	pop    %edx
45f8a1:	83 c3 04             	add    $0x4,%ebx
45f8a4:	4a                   	dec    %edx
45f8a5:	75 d8                	jne    0x45f87f
45f8a7:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45f8aa:	ff 33                	push   (%ebx)
45f8ac:	e8 f3 0c 04 00       	call   0x4a05a4
45f8b1:	83 c4 04             	add    $0x4,%esp
45f8b4:	58                   	pop    %eax
45f8b5:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45f8b8:	89 03                	mov    %eax,(%ebx)
45f8ba:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f8bd:	8b 1b                	mov    (%ebx),%ebx
45f8bf:	81 c3 24 01 00 00    	add    $0x124,%ebx
45f8c5:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45f8c8:	b9 00 00 00 00       	mov    $0x0,%ecx
45f8cd:	51                   	push   %ecx
45f8ce:	c1 e1 02             	shl    $0x2,%ecx
45f8d1:	83 c1 08             	add    $0x8,%ecx
45f8d4:	51                   	push   %ecx
45f8d5:	e8 c4 0c 04 00       	call   0x4a059e
45f8da:	83 c4 04             	add    $0x4,%esp
45f8dd:	8b f8                	mov    %eax,%edi
45f8df:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
45f8e5:	83 c7 04             	add    $0x4,%edi
45f8e8:	59                   	pop    %ecx
45f8e9:	50                   	push   %eax
45f8ea:	51                   	push   %ecx
45f8eb:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
45f8f1:	83 c7 04             	add    $0x4,%edi
45f8f4:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45f8f7:	8b 1b                	mov    (%ebx),%ebx
45f8f9:	e8 f5 3d fa ff       	call   0x4036f3
45f8fe:	5a                   	pop    %edx
45f8ff:	85 c9                	test   %ecx,%ecx
45f901:	0f 84 19 00 00 00    	je     0x45f920
45f907:	57                   	push   %edi
45f908:	52                   	push   %edx
45f909:	51                   	push   %ecx
45f90a:	53                   	push   %ebx
45f90b:	8b 1b                	mov    (%ebx),%ebx
45f90d:	53                   	push   %ebx
45f90e:	e8 91 0c 04 00       	call   0x4a05a4
45f913:	83 c4 04             	add    $0x4,%esp
45f916:	5b                   	pop    %ebx
45f917:	59                   	pop    %ecx
45f918:	83 c3 04             	add    $0x4,%ebx
45f91b:	49                   	dec    %ecx
45f91c:	75 eb                	jne    0x45f909
45f91e:	5a                   	pop    %edx
45f91f:	5f                   	pop    %edi
45f920:	85 d2                	test   %edx,%edx
45f922:	0f 84 3a 00 00 00    	je     0x45f962
45f928:	8b df                	mov    %edi,%ebx
45f92a:	52                   	push   %edx
45f92b:	53                   	push   %ebx
45f92c:	68 10 00 00 00       	push   $0x10
45f931:	e8 68 0c 04 00       	call   0x4a059e
45f936:	83 c4 04             	add    $0x4,%esp
45f939:	5b                   	pop    %ebx
45f93a:	53                   	push   %ebx
45f93b:	89 03                	mov    %eax,(%ebx)
45f93d:	8b d8                	mov    %eax,%ebx
45f93f:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45f945:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
45f94c:	c7 43 08 00 00 00 00 	movl   $0x0,0x8(%ebx)
45f953:	c7 43 0c 00 00 00 00 	movl   $0x0,0xc(%ebx)
45f95a:	5b                   	pop    %ebx
45f95b:	5a                   	pop    %edx
45f95c:	83 c3 04             	add    $0x4,%ebx
45f95f:	4a                   	dec    %edx
45f960:	75 c8                	jne    0x45f92a
45f962:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45f965:	ff 33                	push   (%ebx)
45f967:	e8 38 0c 04 00       	call   0x4a05a4
45f96c:	83 c4 04             	add    $0x4,%esp
45f96f:	58                   	pop    %eax
45f970:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45f973:	89 03                	mov    %eax,(%ebx)
45f975:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f978:	8b 1b                	mov    (%ebx),%ebx
45f97a:	81 c3 38 01 00 00    	add    $0x138,%ebx
45f980:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45f983:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f986:	8b 1b                	mov    (%ebx),%ebx
45f988:	81 c3 3c 01 00 00    	add    $0x13c,%ebx
45f98e:	89 5d d0             	mov    %ebx,-0x30(%ebp)
45f991:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f994:	8b 1b                	mov    (%ebx),%ebx
45f996:	81 c3 30 01 00 00    	add    $0x130,%ebx
45f99c:	89 5d cc             	mov    %ebx,-0x34(%ebp)
45f99f:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f9a2:	8b 1b                	mov    (%ebx),%ebx
45f9a4:	81 c3 2c 01 00 00    	add    $0x12c,%ebx
45f9aa:	89 5d c8             	mov    %ebx,-0x38(%ebp)
45f9ad:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f9b0:	8b 1b                	mov    (%ebx),%ebx
45f9b2:	81 c3 5c 01 00 00    	add    $0x15c,%ebx
45f9b8:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
45f9bb:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45f9be:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45f9c4:	8b 5d d0             	mov    -0x30(%ebp),%ebx
45f9c7:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45f9cd:	8b 5d cc             	mov    -0x34(%ebp),%ebx
45f9d0:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45f9d6:	8b 5d c8             	mov    -0x38(%ebp),%ebx
45f9d9:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45f9df:	8b 5d c4             	mov    -0x3c(%ebp),%ebx
45f9e2:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45f9e8:	8b 5d 08             	mov    0x8(%ebp),%ebx
45f9eb:	8b 1b                	mov    (%ebx),%ebx
45f9ed:	81 c3 34 01 00 00    	add    $0x134,%ebx
45f9f3:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45f9f6:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45f9f9:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
45f9ff:	e9 1e 39 00 00       	jmp    0x463322
45fa04:	83 7d 14 05          	cmpl   $0x5,0x14(%ebp)
45fa08:	0f 85 da 00 00 00    	jne    0x45fae8
45fa0e:	ff 75 10             	push   0x10(%ebp)
45fa11:	ff 75 08             	push   0x8(%ebp)
45fa14:	8b 04 24             	mov    (%esp),%eax
45fa17:	8b 00                	mov    (%eax),%eax
45fa19:	8b 00                	mov    (%eax),%eax
45fa1b:	ff 90 74 01 00 00    	call   *0x174(%eax)
45fa21:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fa24:	8b 1b                	mov    (%ebx),%ebx
45fa26:	81 c3 34 01 00 00    	add    $0x134,%ebx
45fa2c:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45fa2f:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
45fa36:	6a 00                	push   $0x0
45fa38:	ff 75 d0             	push   -0x30(%ebp)
45fa3b:	6a 01                	push   $0x1
45fa3d:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45fa40:	ff 33                	push   (%ebx)
45fa42:	ff 75 08             	push   0x8(%ebp)
45fa45:	8b 04 24             	mov    (%esp),%eax
45fa48:	8b 00                	mov    (%eax),%eax
45fa4a:	8b 00                	mov    (%eax),%eax
45fa4c:	ff 90 90 01 00 00    	call   *0x190(%eax)
45fa52:	85 c0                	test   %eax,%eax
45fa54:	0f 84 89 00 00 00    	je     0x45fae3
45fa5a:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fa5d:	8b 1b                	mov    (%ebx),%ebx
45fa5f:	81 c3 34 01 00 00    	add    $0x134,%ebx
45fa65:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45fa68:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fa6b:	8b 1b                	mov    (%ebx),%ebx
45fa6d:	81 c3 34 01 00 00    	add    $0x134,%ebx
45fa73:	89 5d d0             	mov    %ebx,-0x30(%ebp)
45fa76:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fa79:	8b 1b                	mov    (%ebx),%ebx
45fa7b:	81 c3 60 01 00 00    	add    $0x160,%ebx
45fa81:	89 5d cc             	mov    %ebx,-0x34(%ebp)
45fa84:	8b 5d d0             	mov    -0x30(%ebp),%ebx
45fa87:	db 03                	fildl  (%ebx)
45fa89:	dd 5d c4             	fstpl  -0x3c(%ebp)
45fa8c:	dd 45 c4             	fldl   -0x3c(%ebp)
45fa8f:	8b 5d cc             	mov    -0x34(%ebp),%ebx
45fa92:	db 03                	fildl  (%ebx)
45fa94:	dd 5d bc             	fstpl  -0x44(%ebp)
45fa97:	dc 45 bc             	faddl  -0x44(%ebp)
45fa9a:	dd 5d b4             	fstpl  -0x4c(%ebp)
45fa9d:	dd 45 b4             	fldl   -0x4c(%ebp)
45faa0:	e8 4a 17 fa ff       	call   0x4011ef
45faa5:	50                   	push   %eax
45faa6:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45faa9:	ff 33                	push   (%ebx)
45faab:	8d 45 ec             	lea    -0x14(%ebp),%eax
45faae:	8b d8                	mov    %eax,%ebx
45fab0:	59                   	pop    %ecx
45fab1:	5a                   	pop    %edx
45fab2:	52                   	push   %edx
45fab3:	51                   	push   %ecx
45fab4:	53                   	push   %ebx
45fab5:	89 0b                	mov    %ecx,(%ebx)
45fab7:	3b ca                	cmp    %edx,%ecx
45fab9:	0f 8f 21 00 00 00    	jg     0x45fae0
45fabf:	68 00 00 00 00       	push   $0x0
45fac4:	ff 75 ec             	push   -0x14(%ebp)
45fac7:	ff 75 10             	push   0x10(%ebp)
45faca:	ff 75 08             	push   0x8(%ebp)
45facd:	8b 04 24             	mov    (%esp),%eax
45fad0:	8b 00                	mov    (%eax),%eax
45fad2:	8b 00                	mov    (%eax),%eax
45fad4:	ff 90 84 01 00 00    	call   *0x184(%eax)
45fada:	5b                   	pop    %ebx
45fadb:	59                   	pop    %ecx
45fadc:	5a                   	pop    %edx
45fadd:	41                   	inc    %ecx
45fade:	eb d2                	jmp    0x45fab2
45fae0:	83 c4 0c             	add    $0xc,%esp
45fae3:	e9 3a 38 00 00       	jmp    0x463322
45fae8:	83 7d 14 0f          	cmpl   $0xf,0x14(%ebp)
45faec:	0f 84 11 00 00 00    	je     0x45fb03
45faf2:	81 7d 14 8d 4e 00 00 	cmpl   $0x4e8d,0x14(%ebp)
45faf9:	0f 84 04 00 00 00    	je     0x45fb03
45faff:	33 c0                	xor    %eax,%eax
45fb01:	eb 05                	jmp    0x45fb08
45fb03:	b8 01 00 00 00       	mov    $0x1,%eax
45fb08:	85 c0                	test   %eax,%eax
45fb0a:	0f 84 0e 02 00 00    	je     0x45fd1e
45fb10:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fb13:	8b 1b                	mov    (%ebx),%ebx
45fb15:	81 c3 3c 01 00 00    	add    $0x13c,%ebx
45fb1b:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45fb1e:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
45fb25:	6a 00                	push   $0x0
45fb27:	ff 75 d0             	push   -0x30(%ebp)
45fb2a:	6a 01                	push   $0x1
45fb2c:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45fb2f:	ff 33                	push   (%ebx)
45fb31:	ff 75 08             	push   0x8(%ebp)
45fb34:	8b 04 24             	mov    (%esp),%eax
45fb37:	8b 00                	mov    (%eax),%eax
45fb39:	8b 00                	mov    (%eax),%eax
45fb3b:	ff 90 90 01 00 00    	call   *0x190(%eax)
45fb41:	85 c0                	test   %eax,%eax
45fb43:	0f 84 2b 00 00 00    	je     0x45fb74
45fb49:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fb4c:	8b 1b                	mov    (%ebx),%ebx
45fb4e:	81 c3 3c 01 00 00    	add    $0x13c,%ebx
45fb54:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45fb57:	68 00 00 00 00       	push   $0x0
45fb5c:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45fb5f:	ff 33                	push   (%ebx)
45fb61:	ff 75 10             	push   0x10(%ebp)
45fb64:	ff 75 08             	push   0x8(%ebp)
45fb67:	8b 04 24             	mov    (%esp),%eax
45fb6a:	8b 00                	mov    (%eax),%eax
45fb6c:	8b 00                	mov    (%eax),%eax
45fb6e:	ff 90 84 01 00 00    	call   *0x184(%eax)
45fb74:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fb77:	8b 1b                	mov    (%ebx),%ebx
45fb79:	81 c3 40 01 00 00    	add    $0x140,%ebx
45fb7f:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45fb82:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45fb85:	8b 1b                	mov    (%ebx),%ebx
45fb87:	e8 be e8 fa ff       	call   0x40e44a
45fb8c:	33 c9                	xor    %ecx,%ecx
45fb8e:	50                   	push   %eax
45fb8f:	8d 45 ec             	lea    -0x14(%ebp),%eax
45fb92:	8b d8                	mov    %eax,%ebx
45fb94:	58                   	pop    %eax
45fb95:	41                   	inc    %ecx
45fb96:	51                   	push   %ecx
45fb97:	53                   	push   %ebx
45fb98:	89 0b                	mov    %ecx,(%ebx)
45fb9a:	50                   	push   %eax
45fb9b:	3b c8                	cmp    %eax,%ecx
45fb9d:	0f 8f f8 00 00 00    	jg     0x45fc9b
45fba3:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fba6:	8b 1b                	mov    (%ebx),%ebx
45fba8:	8b 9b 40 01 00 00    	mov    0x140(%ebx),%ebx
45fbae:	e8 40 3b fa ff       	call   0x4036f3
45fbb3:	53                   	push   %ebx
45fbb4:	51                   	push   %ecx
45fbb5:	8b 45 ec             	mov    -0x14(%ebp),%eax
45fbb8:	48                   	dec    %eax
45fbb9:	79 17                	jns    0x45fbd2
45fbbb:	68 91 0c 00 00       	push   $0xc91
45fbc0:	68 5d d1 03 04       	push   $0x403d15d
45fbc5:	68 04 00 00 00       	push   $0x4
45fbca:	e8 db 09 04 00       	call   0x4a05aa
45fbcf:	83 c4 0c             	add    $0xc,%esp
45fbd2:	59                   	pop    %ecx
45fbd3:	5b                   	pop    %ebx
45fbd4:	3b c1                	cmp    %ecx,%eax
45fbd6:	7c 17                	jl     0x45fbef
45fbd8:	68 91 0c 00 00       	push   $0xc91
45fbdd:	68 5d d1 03 04       	push   $0x403d15d
45fbe2:	68 01 00 00 00       	push   $0x1
45fbe7:	e8 be 09 04 00       	call   0x4a05aa
45fbec:	83 c4 0c             	add    $0xc,%esp
45fbef:	c1 e0 02             	shl    $0x2,%eax
45fbf2:	03 d8                	add    %eax,%ebx
45fbf4:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45fbf7:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
45fbfe:	6a 00                	push   $0x0
45fc00:	ff 75 d0             	push   -0x30(%ebp)
45fc03:	6a 01                	push   $0x1
45fc05:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45fc08:	ff 33                	push   (%ebx)
45fc0a:	ff 75 08             	push   0x8(%ebp)
45fc0d:	8b 04 24             	mov    (%esp),%eax
45fc10:	8b 00                	mov    (%eax),%eax
45fc12:	8b 00                	mov    (%eax),%eax
45fc14:	ff 90 90 01 00 00    	call   *0x190(%eax)
45fc1a:	85 c0                	test   %eax,%eax
45fc1c:	0f 84 71 00 00 00    	je     0x45fc93
45fc22:	8b 5d 08             	mov    0x8(%ebp),%ebx
45fc25:	8b 1b                	mov    (%ebx),%ebx
45fc27:	8b 9b 40 01 00 00    	mov    0x140(%ebx),%ebx
45fc2d:	e8 c1 3a fa ff       	call   0x4036f3
45fc32:	53                   	push   %ebx
45fc33:	51                   	push   %ecx
45fc34:	8b 45 ec             	mov    -0x14(%ebp),%eax
45fc37:	48                   	dec    %eax
45fc38:	79 17                	jns    0x45fc51
45fc3a:	68 b3 0c 00 00       	push   $0xcb3
45fc3f:	68 5d d1 03 04       	push   $0x403d15d
45fc44:	68 04 00 00 00       	push   $0x4
45fc49:	e8 5c 09 04 00       	call   0x4a05aa
45fc4e:	83 c4 0c             	add    $0xc,%esp
45fc51:	59                   	pop    %ecx
45fc52:	5b                   	pop    %ebx
45fc53:	3b c1                	cmp    %ecx,%eax
45fc55:	7c 17                	jl     0x45fc6e
45fc57:	68 b3 0c 00 00       	push   $0xcb3
45fc5c:	68 5d d1 03 04       	push   $0x403d15d
45fc61:	68 01 00 00 00       	push   $0x1
45fc66:	e8 3f 09 04 00       	call   0x4a05aa
45fc6b:	83 c4 0c             	add    $0xc,%esp
45fc6e:	c1 e0 02             	shl    $0x2,%eax
45fc71:	03 d8                	add    %eax,%ebx
45fc73:	89 5d d4             	mov    %ebx,-0x2c(%ebp)
45fc76:	68 00 00 00 00       	push   $0x0
45fc7b:	8b 5d d4             	mov    -0x2c(%ebp),%ebx
45fc7e:	ff 33                	push   (%ebx)
45fc80:	ff 75 10             	push   0x10(%ebp)
45fc83:	ff 75 08             	push   0x8(%ebp)
45fc86:	8b 04 24             	mov    (%esp),%eax
45fc89:	8b 00                	mov    (%eax),%eax
45fc8b:	8b 00                	mov    (%eax),%eax
45fc8d:	ff 90 84 01 00 00    	call   *0x184(%eax)
45fc93:	58                   	pop    %eax
45fc94:	5b                   	pop    %ebx
45fc95:	59                   	pop    %ecx
45fc96:	e9 fa fe ff ff       	jmp    0x45fb95
45fc9b:	83 c4 0c             	add    $0xc,%esp
45fc9e:	ff 75 10             	push   0x10(%ebp)
45fca1:	ff 75 08             	push   0x8(%ebp)
45fca4:	8b 04 24             	mov    (%esp),%eax
45fca7:	8b 00                	mov    (%eax),%eax
45fca9:	8b 00                	mov    (%eax),%eax