46dce7:	50                   	push   %eax
46dce8:	6a 01                	push   $0x1
46dcea:	8d 47 2c             	lea    0x2c(%edi),%eax
46dced:	50                   	push   %eax
46dcee:	55                   	push   %ebp
46dcef:	55                   	push   %ebp
46dcf0:	ff d3                	call   *%ebx
46dcf2:	55                   	push   %ebp
46dcf3:	55                   	push   %ebp
46dcf4:	6a 01                	push   $0x1
46dcf6:	8d 46 2d             	lea    0x2d(%esi),%eax
46dcf9:	50                   	push   %eax
46dcfa:	6a 01                	push   $0x1
46dcfc:	8d 47 2e             	lea    0x2e(%edi),%eax
46dcff:	50                   	push   %eax
46dd00:	55                   	push   %ebp
46dd01:	55                   	push   %ebp
46dd02:	ff d3                	call   *%ebx
46dd04:	55                   	push   %ebp
46dd05:	55                   	push   %ebp
46dd06:	6a 01                	push   $0x1
46dd08:	8d 46 2e             	lea    0x2e(%esi),%eax
46dd0b:	50                   	push   %eax
46dd0c:	6a 01                	push   $0x1
46dd0e:	8d 47 30             	lea    0x30(%edi),%eax
46dd11:	50                   	push   %eax
46dd12:	55                   	push   %ebp
46dd13:	55                   	push   %ebp
46dd14:	ff d3                	call   *%ebx
46dd16:	55                   	push   %ebp
46dd17:	55                   	push   %ebp
46dd18:	6a 01                	push   $0x1
46dd1a:	8d 46 2f             	lea    0x2f(%esi),%eax
46dd1d:	50                   	push   %eax
46dd1e:	6a 01                	push   $0x1
46dd20:	83 c7 32             	add    $0x32,%edi
46dd23:	57                   	push   %edi
46dd24:	55                   	push   %ebp
46dd25:	55                   	push   %ebp
46dd26:	ff d3                	call   *%ebx
46dd28:	8b c6                	mov    %esi,%eax
46dd2a:	5e                   	pop    %esi
46dd2b:	5b                   	pop    %ebx
46dd2c:	5f                   	pop    %edi
46dd2d:	5d                   	pop    %ebp
46dd2e:	c2 08 00             	ret    $0x8
46dd31:	56                   	push   %esi
46dd32:	ff 74 24 08          	push   0x8(%esp)
46dd36:	e8 84 b8 f9 ff       	call   0x4095bf
46dd3b:	59                   	pop    %ecx
46dd3c:	ff 74 24 08          	push   0x8(%esp)
46dd40:	8b f0                	mov    %eax,%esi
46dd42:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
46dd48:	8b c6                	mov    %esi,%eax
46dd4a:	5e                   	pop    %esi
46dd4b:	c2 04 00             	ret    $0x4
46dd4e:	56                   	push   %esi
46dd4f:	ff 74 24 08          	push   0x8(%esp)
46dd53:	e8 b2 b8 f9 ff       	call   0x40960a
46dd58:	59                   	pop    %ecx
46dd59:	ff 74 24 08          	push   0x8(%esp)
46dd5d:	8b f0                	mov    %eax,%esi
46dd5f:	ff 15 f0 0a 4b 00    	call   *0x4b0af0
46dd65:	8b c6                	mov    %esi,%eax
46dd67:	5e                   	pop    %esi
46dd68:	c2 04 00             	ret    $0x4
46dd6b:	53                   	push   %ebx
46dd6c:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
46dd70:	55                   	push   %ebp
46dd71:	56                   	push   %esi
46dd72:	57                   	push   %edi
46dd73:	53                   	push   %ebx
46dd74:	ff 15 04 05 4b 00    	call   *0x4b0504
46dd7a:	8b 3d a0 03 4b 00    	mov    0x4b03a0,%edi
46dd80:	33 f6                	xor    %esi,%esi
46dd82:	56                   	push   %esi
46dd83:	56                   	push   %esi
46dd84:	56                   	push   %esi
46dd85:	56                   	push   %esi
46dd86:	8b e8                	mov    %eax,%ebp
46dd88:	55                   	push   %ebp
46dd89:	53                   	push   %ebx
46dd8a:	56                   	push   %esi
46dd8b:	56                   	push   %esi
46dd8c:	ff d7                	call   *%edi
46dd8e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
46dd92:	50                   	push   %eax
46dd93:	89 44 24 1c          	mov    %eax,0x1c(%esp)
46dd97:	e8 ae 33 f9 ff       	call   0x40114a
46dd9c:	56                   	push   %esi
46dd9d:	56                   	push   %esi
46dd9e:	ff 74 24 20          	push   0x20(%esp)
46dda2:	50                   	push   %eax
46dda3:	55                   	push   %ebp
46dda4:	53                   	push   %ebx
46dda5:	56                   	push   %esi
46dda6:	56                   	push   %esi
46dda7:	ff d7                	call   *%edi
46dda9:	5f                   	pop    %edi
46ddaa:	5e                   	pop    %esi
46ddab:	5d                   	pop    %ebp
46ddac:	5b                   	pop    %ebx
46ddad:	c2 08 00             	ret    $0x8
46ddb0:	53                   	push   %ebx
46ddb1:	56                   	push   %esi
46ddb2:	57                   	push   %edi
46ddb3:	8b f1                	mov    %ecx,%esi
46ddb5:	ff 15 98 03 4b 00    	call   *0x4b0398
46ddbb:	c1 e8 1f             	shr    $0x1f,%eax
46ddbe:	8b ce                	mov    %esi,%ecx
46ddc0:	89 46 54             	mov    %eax,0x54(%esi)
46ddc3:	e8 e1 9d fd ff       	call   0x447ba9
46ddc8:	33 db                	xor    %ebx,%ebx
46ddca:	8b ce                	mov    %esi,%ecx
46ddcc:	89 5e 24             	mov    %ebx,0x24(%esi)
46ddcf:	e8 91 9d fd ff       	call   0x447b65
46ddd4:	8b 3d 48 06 4b 00    	mov    0x4b0648,%edi
46ddda:	68 02 7f 00 00       	push   $0x7f02
46dddf:	53                   	push   %ebx
46dde0:	ff d7                	call   *%edi
46dde2:	68 00 7f 00 00       	push   $0x7f00
46dde7:	53                   	push   %ebx
46dde8:	89 46 3c             	mov    %eax,0x3c(%esi)
46ddeb:	ff d7                	call   *%edi
46dded:	6a 02                	push   $0x2
46ddef:	89 46 40             	mov    %eax,0x40(%esi)
46ddf2:	58                   	pop    %eax
46ddf3:	89 46 10             	mov    %eax,0x10(%esi)
46ddf6:	89 46 14             	mov    %eax,0x14(%esi)
46ddf9:	5f                   	pop    %edi
46ddfa:	89 5e 50             	mov    %ebx,0x50(%esi)
46ddfd:	89 5e 44             	mov    %ebx,0x44(%esi)
46de00:	8b c6                	mov    %esi,%eax
46de02:	5e                   	pop    %esi
46de03:	5b                   	pop    %ebx
46de04:	c3                   	ret
46de05:	b9 d8 c3 4a 00       	mov    $0x4ac3d8,%ecx
46de0a:	e8 a1 ff ff ff       	call   0x46ddb0
46de0f:	68 1b de 46 00       	push   $0x46de1b
46de14:	e8 2c 97 fa ff       	call   0x417545
46de19:	59                   	pop    %ecx
46de1a:	c3                   	ret
46de1b:	68 28 c4 4a 00       	push   $0x4ac428
46de20:	e8 76 34 fe ff       	call   0x45129b
46de25:	c3                   	ret
46de26:	ff 74 24 04          	push   0x4(%esp)
46de2a:	6a 40                	push   $0x40
46de2c:	ff 15 20 03 4b 00    	call   *0x4b0320
46de32:	85 c0                	test   %eax,%eax
46de34:	75 05                	jne    0x46de3b
46de36:	e8 dc 75 fc ff       	call   0x435417
46de3b:	c2 04 00             	ret    $0x4
46de3e:	83 7c 24 04 00       	cmpl   $0x0,0x4(%esp)
46de43:	74 06                	je     0x46de4b
46de45:	ff 25 50 03 4b 00    	jmp    *0x4b0350
46de4b:	c2 04 00             	ret    $0x4
46de4e:	55                   	push   %ebp
46de4f:	8b ec                	mov    %esp,%ebp
46de51:	51                   	push   %ecx
46de52:	51                   	push   %ecx
46de53:	53                   	push   %ebx
46de54:	56                   	push   %esi
46de55:	8b f1                	mov    %ecx,%esi
46de57:	8d 46 1c             	lea    0x1c(%esi),%eax
46de5a:	57                   	push   %edi
46de5b:	50                   	push   %eax
46de5c:	89 45 fc             	mov    %eax,-0x4(%ebp)
46de5f:	ff 15 10 03 4b 00    	call   *0x4b0310
46de65:	8b 46 04             	mov    0x4(%esi),%eax
46de68:	8b 7e 08             	mov    0x8(%esi),%edi
46de6b:	3b f8                	cmp    %eax,%edi
46de6d:	7d 0d                	jge    0x46de7c
46de6f:	8b 4e 10             	mov    0x10(%esi),%ecx
46de72:	f6 04 f9 01          	testb  $0x1,(%ecx,%edi,8)
46de76:	0f 84 b4 00 00 00    	je     0x46df30
46de7c:	33 ff                	xor    %edi,%edi
46de7e:	47                   	inc    %edi
46de7f:	3b c7                	cmp    %edi,%eax
46de81:	7e 1b                	jle    0x46de9e
46de83:	8b 4e 10             	mov    0x10(%esi),%ecx
46de86:	83 c1 08             	add    $0x8,%ecx
46de89:	f6 01 01             	testb  $0x1,(%ecx)
46de8c:	74 08                	je     0x46de96
46de8e:	47                   	inc    %edi
46de8f:	83 c1 08             	add    $0x8,%ecx
46de92:	3b f8                	cmp    %eax,%edi
46de94:	7c f3                	jl     0x46de89
46de96:	3b f8                	cmp    %eax,%edi
46de98:	0f 8c 92 00 00 00    	jl     0x46df30
46de9e:	8d 58 20             	lea    0x20(%eax),%ebx
46dea1:	8b 46 10             	mov    0x10(%esi),%eax
46dea4:	85 c0                	test   %eax,%eax
46dea6:	75 10                	jne    0x46deb8
46dea8:	8b c3                	mov    %ebx,%eax
46deaa:	c1 e0 03             	shl    $0x3,%eax
46dead:	50                   	push   %eax
46deae:	6a 02                	push   $0x2
46deb0:	ff 15 58 03 4b 00    	call   *0x4b0358
46deb6:	eb 25                	jmp    0x46dedd
46deb8:	50                   	push   %eax
46deb9:	ff 15 9c 02 4b 00    	call   *0x4b029c
46debf:	50                   	push   %eax
46dec0:	89 45 f8             	mov    %eax,-0x8(%ebp)
46dec3:	ff 15 44 03 4b 00    	call   *0x4b0344
46dec9:	68 02 20 00 00       	push   $0x2002
46dece:	8b c3                	mov    %ebx,%eax
46ded0:	c1 e0 03             	shl    $0x3,%eax
46ded3:	50                   	push   %eax
46ded4:	ff 75 f8             	push   -0x8(%ebp)
46ded7:	ff 15 a0 02 4b 00    	call   *0x4b02a0
46dedd:	85 c0                	test   %eax,%eax
46dedf:	75 23                	jne    0x46df04
46dee1:	8b 76 10             	mov    0x10(%esi),%esi
46dee4:	85 f6                	test   %esi,%esi
46dee6:	74 0e                	je     0x46def6
46dee8:	56                   	push   %esi
46dee9:	ff 15 9c 02 4b 00    	call   *0x4b029c
46deef:	50                   	push   %eax
46def0:	ff 15 40 03 4b 00    	call   *0x4b0340
46def6:	ff 75 fc             	push   -0x4(%ebp)
46def9:	ff 15 0c 03 4b 00    	call   *0x4b030c
46deff:	e9 13 75 fc ff       	jmp    0x435417
46df04:	50                   	push   %eax
46df05:	ff 15 40 03 4b 00    	call   *0x4b0340
46df0b:	8b 4e 04             	mov    0x4(%esi),%ecx
46df0e:	8b d3                	mov    %ebx,%edx
46df10:	2b d1                	sub    %ecx,%edx
46df12:	c1 e2 03             	shl    $0x3,%edx
46df15:	52                   	push   %edx
46df16:	89 45 f8             	mov    %eax,-0x8(%ebp)
46df19:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
46df1c:	6a 00                	push   $0x0
46df1e:	50                   	push   %eax
46df1f:	e8 1c a3 fa ff       	call   0x418240
46df24:	8b 45 f8             	mov    -0x8(%ebp),%eax
46df27:	83 c4 0c             	add    $0xc,%esp
46df2a:	89 5e 04             	mov    %ebx,0x4(%esi)
46df2d:	89 46 10             	mov    %eax,0x10(%esi)
46df30:	3b 7e 0c             	cmp    0xc(%esi),%edi
46df33:	7c 06                	jl     0x46df3b
46df35:	8d 47 01             	lea    0x1(%edi),%eax
46df38:	89 46 0c             	mov    %eax,0xc(%esi)
46df3b:	8b 46 10             	mov    0x10(%esi),%eax
46df3e:	ff 75 fc             	push   -0x4(%ebp)
46df41:	8d 04 f8             	lea    (%eax,%edi,8),%eax
46df44:	83 08 01             	orl    $0x1,(%eax)
46df47:	8d 47 01             	lea    0x1(%edi),%eax
46df4a:	89 46 08             	mov    %eax,0x8(%esi)
46df4d:	ff 15 0c 03 4b 00    	call   *0x4b030c
46df53:	8b c7                	mov    %edi,%eax
46df55:	5f                   	pop    %edi
46df56:	5e                   	pop    %esi
46df57:	5b                   	pop    %ebx
46df58:	c9                   	leave
46df59:	c3                   	ret
46df5a:	53                   	push   %ebx
46df5b:	56                   	push   %esi
46df5c:	8b f1                	mov    %ecx,%esi
46df5e:	57                   	push   %edi
46df5f:	8d 5e 1c             	lea    0x1c(%esi),%ebx
46df62:	53                   	push   %ebx
46df63:	ff 15 10 03 4b 00    	call   *0x4b0310
46df69:	8b 7c 24 10          	mov    0x10(%esp),%edi
46df6d:	85 ff                	test   %edi,%edi
46df6f:	7e 1e                	jle    0x46df8f
46df71:	3b 7e 0c             	cmp    0xc(%esi),%edi
46df74:	7d 19                	jge    0x46df8f
46df76:	ff 36                	push   (%esi)
46df78:	ff 15 98 02 4b 00    	call   *0x4b0298
46df7e:	85 c0                	test   %eax,%eax
46df80:	74 0d                	je     0x46df8f
46df82:	3b 78 08             	cmp    0x8(%eax),%edi
46df85:	7d 08                	jge    0x46df8f
46df87:	8b 40 0c             	mov    0xc(%eax),%eax
46df8a:	8b 3c b8             	mov    (%eax,%edi,4),%edi
46df8d:	eb 02                	jmp    0x46df91
46df8f:	33 ff                	xor    %edi,%edi
46df91:	53                   	push   %ebx
46df92:	ff 15 0c 03 4b 00    	call   *0x4b030c
46df98:	8b c7                	mov    %edi,%eax
46df9a:	5f                   	pop    %edi
46df9b:	5e                   	pop    %esi
46df9c:	5b                   	pop    %ebx
46df9d:	c2 04 00             	ret    $0x4
46dfa0:	56                   	push   %esi
46dfa1:	57                   	push   %edi
46dfa2:	8b f1                	mov    %ecx,%esi
46dfa4:	8d 7e 1c             	lea    0x1c(%esi),%edi
46dfa7:	57                   	push   %edi
46dfa8:	ff 15 10 03 4b 00    	call   *0x4b0310
46dfae:	33 c9                	xor    %ecx,%ecx
46dfb0:	41                   	inc    %ecx
46dfb1:	39 4e 0c             	cmp    %ecx,0xc(%esi)
46dfb4:	7e 1e                	jle    0x46dfd4
46dfb6:	8b 46 10             	mov    0x10(%esi),%eax
46dfb9:	8d 04 c8             	lea    (%eax,%ecx,8),%eax
46dfbc:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
46dfc0:	75 0c                	jne    0x46dfce
46dfc2:	f6 00 01             	testb  $0x1,(%eax)
46dfc5:	74 07                	je     0x46dfce
46dfc7:	8b 54 24 0c          	mov    0xc(%esp),%edx
46dfcb:	89 50 04             	mov    %edx,0x4(%eax)
46dfce:	41                   	inc    %ecx
46dfcf:	3b 4e 0c             	cmp    0xc(%esi),%ecx
46dfd2:	7c e2                	jl     0x46dfb6
46dfd4:	57                   	push   %edi
46dfd5:	ff 15 0c 03 4b 00    	call   *0x4b030c
46dfdb:	5f                   	pop    %edi
46dfdc:	5e                   	pop    %esi
46dfdd:	c2 04 00             	ret    $0x4
46dfe0:	8b 01                	mov    (%ecx),%eax
46dfe2:	85 c0                	test   %eax,%eax
46dfe4:	74 11                	je     0x46dff7
46dfe6:	8b 0d 34 c4 4a 00    	mov    0x4ac434,%ecx
46dfec:	85 c9                	test   %ecx,%ecx
46dfee:	74 07                	je     0x46dff7
46dff0:	50                   	push   %eax
46dff1:	e8 64 ff ff ff       	call   0x46df5a
46dff6:	c3                   	ret
46dff7:	33 c0                	xor    %eax,%eax
46dff9:	c3                   	ret
46dffa:	b8 3f 2f 48 00       	mov    $0x482f3f,%eax
46dfff:	e8 78 9c fa ff       	call   0x417c7c
46e004:	51                   	push   %ecx
46e005:	51                   	push   %ecx
46e006:	53                   	push   %ebx
46e007:	56                   	push   %esi
46e008:	57                   	push   %edi
46e009:	8b f1                	mov    %ecx,%esi
46e00b:	33 ff                	xor    %edi,%edi
46e00d:	39 3e                	cmp    %edi,(%esi)
46e00f:	89 65 f0             	mov    %esp,-0x10(%ebp)
46e012:	75 1e                	jne    0x46e032
46e014:	6a 10                	push   $0x10
46e016:	e8 8b 05 00 00       	call   0x46e5a6
46e01b:	39 3e                	cmp    %edi,(%esi)
46e01d:	89 7d fc             	mov    %edi,-0x4(%ebp)
46e020:	75 05                	jne    0x46e027
46e022:	ff 55 08             	call   *0x8(%ebp)
46e025:	89 06                	mov    %eax,(%esi)
46e027:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
46e02b:	6a 10                	push   $0x10
46e02d:	e8 d7 05 00 00       	call   0x46e609
46e032:	8b 06                	mov    (%esi),%eax
46e034:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46e037:	5f                   	pop    %edi
46e038:	5e                   	pop    %esi
46e039:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
46e040:	5b                   	pop    %ebx
46e041:	c9                   	leave